我有Activity A
(主要)和Activity B
。
事实:活动A有:android:launchMode="singleInstance"
通常的情况是:
Activity A
。用户点击商品> Activity B
3.A。如果用户点击后退/上移按钮>返回A
(不在B上调用finish())
B
。http://i41.tinypic.com/jkyuyg.jpg
3.B。如果用户单击“主页”,则转到任务管理器并将应用程序置于前面> Activity B
(一切都很好,到目前为止)
Activity A
(后退按钮预计会以这种方式工作,所以让我们专注于UP按钮)。以下是我在Activity B
中对BACK和UP按钮的实现。
@Override
public void onBackPressed() {
moveTaskToBack(true);
// I don't want to finish() the activity, so the user can reclick the same
// item without reloading the whole activity again (webview slow when parsing html).
return;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
moveTaskToBack(true);
// I don't want to finish() the activity... idem.
// I need to implement here the bring Activity A to front
break;
}
}
所以,我想要的是:到“返回”到Activity A
保持使用堆栈重新加载活动B的想法,如果需要,不使用Intents(除非它调用活动到前面,不添加项目到堆栈。)
如果我清楚地解释了自己以及是否需要更多信息,请告诉我。