Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-从子活动onResume()启动已完成的父活动_Android_Android Activity_Onresume - Fatal编程技术网

Android-从子活动onResume()启动已完成的父活动

Android-从子活动onResume()启动已完成的父活动,android,android-activity,onresume,Android,Android Activity,Onresume,我有一个没有附加视图的MainActivity。这是一项启动活动,用于检查一周中的哪一天,并在该天启动一项新活动。我每周每天都有一项活动。 在检查当天并开始当天的活动后,我调用finish()以销毁main活动(这样当我单击后退按钮时,不会显示空白屏幕,我可以退出应用程序) 现在我面临的问题是-- 如果我点击home按钮或应用程序进入后台,如果当天发生变化,并且应用程序再次出现在前台,则会显示前一天的视图。它实际上应该得到更新,以显示当天的活动 由于onResume()是在应用程序返回前台后调用

我有一个没有附加视图的MainActivity。这是一项启动活动,用于检查一周中的哪一天,并在该天启动一项新活动。我每周每天都有一项活动。 在检查当天并开始当天的活动后,我调用finish()以销毁main活动(这样当我单击后退按钮时,不会显示空白屏幕,我可以退出应用程序)

现在我面临的问题是--

如果我点击home按钮或应用程序进入后台,如果当天发生变化,并且应用程序再次出现在前台,则会显示前一天的视图。它实际上应该得到更新,以显示当天的活动

由于onResume()是在应用程序返回前台后调用的,因此我尝试在每天活动的onResume()中添加以下代码,以再次启动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()方法

请帮助我了解这是否是正确的方法,或者我是否遗漏了任何内容。

为AndroidManifest文件中的MainActivity添加launchMode=“singleTask”

 <activity
    android:name=".MainActivity"
    android:launchMode="singleTask"/>

感谢您的回复。当我手动更改手机上的日期时,它起作用了。当日期自动更改时,将再次对其进行测试。再次感谢:)
 <activity
    android:name=".MainActivity"
    android:launchMode="singleTask"/>