【发布时间】:2016-08-01 09:31:27
【问题描述】:
我只是想点击返回并导航到我之前的活动。我的流程是这样的:我转到news_feed activity -> Comments activity -> User Profile activity -> click back(转到Comments activity)-> click back(出于某种原因,这没有任何作用)-> 单击返回(返回news_feed activity)。当我尝试从Comments activity 回到news_feed 活动时,我不确定为什么必须单击两次back。如果我从 news_feed 活动 -> Comments -> 后退(转到 news_feed activity),这非常有效。这是我的代码:
news_feed.java:
@Override
public void onBackPressed() {
super.onBackPressed();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
评论.java:
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
}
UserProfile.java:
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(UserProfile.this, Comments.class);
Bundle bundle = new Bundle();
bundle.putString("postId", postId);
bundle.putString("posterUserId", posterUserId);
bundle.putString("posterName", posterName);
bundle.putString("postStatus", postStatus);
bundle.putString("postTimeStamp", postTimeStamp);
bundle.putString("postTitle", postTitle);
intent.putExtras(bundle);
startActivity(intent);
finish();
}
我不认为导航到这些活动会改变任何事情,但如果需要,我也可以包含我用来导航到这些活动的意图。否则,我只包含了用于这些活动的onBackPressed 代码。任何想法为什么这可能会导致问题?任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
不要在
onBackPressed()中调用finish() -
你为什么在评论活动中使用 onBackPressd,如果你只需要完成它。当你不写 onBackPressCode 按下返回时,我会完成。
标签: java android android-intent onbackpressed