我有一个MainActivity没有视图附加到它。这是启动活动,用于检查一周中的哪一天,并在该特定日期开始一项新活动。我有一个星期的每一天的活动。 在检查一天并开始当天的活动之后,我调用finish()以便MainActivity被销毁(这样当我单击后退按钮时,空白屏幕不会显示,我可以从应用程序中退出)。Android - 从子活动onResume()开始一个完成的父活动()
现在,我面对的问题是 -
如果我点击主页按钮或应用程序切换到后台,如果一天的变化,如果应用程序来然后再前景越来越显示前一日的观点。它实际上应该更新以显示当天的活动。
由于应用程序回到前台后调用onResume(),我尝试在每天活动的onResume()中添加以下代码以再次启动MainActivity并检查当天,然后启动该特定活动。但只有一个空白屏幕正在显示。
请找到下面的代码:
MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
calendar= Calendar.getInstance();
int day=calendar.get(Calendar.DAY_OF_WEEK);
switch(day)
{
case Calendar.SUNDAY: {
Intent intent=new Intent(MainActivity.this, SundayTabActivity.class);
startActivity(intent);
break;
}
case Calendar.MONDAY: {
Intent intent=new Intent(MainActivity.this, MondayTabActivity.class);
startActivity(intent);
break;
}
case Calendar.TUESDAY: {
Intent intent=new Intent(MainActivity.this, TuesdayTabActivity.class);
startActivity(intent);
break;
}
case Calendar.WEDNESDAY: {
Intent intent=new Intent(MainActivity.this, WednesdayTabActivity.class);
startActivity(intent);
break;
}
case Calendar.THURSDAY: {
Intent intent=new Intent(MainActivity.this, ThursdayTabActivity.class);
startActivity(intent);
break;
}
case Calendar.FRIDAY: {
Intent intent=new Intent(MainActivity.this, FridayTabActivity.class);
startActivity(intent);
break;
}
case Calendar.SATURDAY: {
Intent intent=new Intent(MainActivity.this, SaturdayTabActivity.class);
startActivity(intent);
break;
}
}
finish();
}
SaturdayTabActivity的onResume()方法
@Override
protected void onResume() {
super.onResume();
Calendar calendar= Calendar.getInstance();
int day=calendar.get(Calendar.DAY_OF_WEEK);
if (day != 6)
{
System.out.println("day changed-----");
Intent intent=new Intent(SaturdayTabActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}
请帮助我了解,如果这是正确的做法,或者如果我缺少什么。
感谢您的答复。当我手动更改手机上的日期时,它工作正常。日期自动更改时将再次进行测试。再次感谢 :) – Sri