我有一個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