我从MainActivity扩展活动A,B,C。首先开始,A开始B和B开始C.当我在活动C中使用onclick特殊按钮中的finish()时,活动A开始,但我想要活动B开始。我为这个案子做了什么?
开始以下所有活动:
Intent i = new Intent(this,NewActivity.class);
startActivity(i);
不要添加finish()方法,然后在按钮内单击只调用finish()方法。它会带你回到之前的活动。
当Activity C完成时,你无法可靠地期望活动B在堆栈上,因为Android可以在需要内存时销毁后台Activity。如果您的用例表明,当活动C关闭时,活动B应始终可见,您应该明确地启动它,如Navigating Up to Parent Activity中所述。在你的情况下,我认为在NavUtils.navigateUpFromSameTask(this)
中使用onBackPressed()
是合适的。
A activity.Java
Intent i = new Intent(this,BActivity.class);
startActivity(i);
B activity.Java
Intent i = new Intent(this,CActivity.class);
startActivity(i);
C activity.Java
Intent i = new Intent(this,BActivity.class);
startActivity(i);
finish();