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