如何根据Android应用程序中的日期更改主要活动中的图像
Posted
技术标签:
【中文标题】如何根据Android应用程序中的日期更改主要活动中的图像【英文标题】:How to change image in main-activity based on date in android application 【发布时间】:2021-12-16 07:25:07 【问题描述】:正在寻找一个需要日复一日更换图像的安卓应用程序。
示例:如果系统日期=01.01.2021,则应显示 image1,否则应显示 image2。
这是我的安卓源代码:
package com.wavedevelopers.chat;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Calendar;
import java.util.Date;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView;
Calendar cal = Calendar.getInstance();
Date now_date = null;
cal.setTime(now_date);
imageView = (ImageView)findViewById(R.id.content);
if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY)
imageView.setImageResource(R.drawable.a1);
else if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY)
imageView.setImageResource(R.drawable.a2);
【问题讨论】:
看起来不错。你遇到了什么问题? 这段代码检查星期几并显示图像,但我需要检查日期和月份并显示图像.. 好吧,你没有问这个。请看我的回答。 感谢您的工作和回复 :) 您能否将其设为“DATE”而不是“DAY_OF_WEEK”?它会更有帮助。再次感谢。 这是您要寻找的答案吗?如果是这样,请考虑将我的答案标记为答案,并在任何信息丰富的 cmets 上点击向上箭头。否则,我很乐意为您解答任何其他问题。 【参考方案1】: package com.wavedevelopers.chat;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Calendar;
import java.util.Date;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView;
Calendar cal = Calendar.getInstance();
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
imageView = (ImageView)findViewById(R.id.content);
if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY && cal.get(Calendar.MONTH) == Calendar.NOVEMBER)
imageView.setImageResource(R.drawable.a1);
else if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY)
imageView.setImageResource(R.drawable.a2);
else if(dayOfMonth == 1)
System.out.println("It's the first of the month")
【讨论】:
感谢您的工作和回复 :) 您能否将其设为“DATE”而不是“DAY_OF_WEEK”?它会更有帮助。再次感谢。 添加了一个额外的“else if”,条件检查它是否是本月的第一天。但请注意,因为满足第一个条件(因为今天是星期一,月份是九月),所以不会检查 else 语句。 再次感谢您的回复,最后,我想要验证 DATE 和 MONTH 的代码示例:如果(日期和月份 = 本地日期)然后显示图像。 告诉我你的尝试并告诉我哪里没用。 if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY && cal.get(Calendar.MONTH) == Calendar.NOVEMBER) 上面的代码用于验证 DAY_OF_WEEK 和 MONTH,但我需要验证日期和月份以上是关于如何根据Android应用程序中的日期更改主要活动中的图像的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 android studio 中的 listview 项目点击更改活动图像和文本? java 或 kotlin