现在我有一个应用程序可以将用户从SignupActivity
直接转到活动EditProfileActivity
。
它创建了这样一个:
Intent intent = new Intent(this, EditProfileActivity.class);
intent.putExtra("user", user);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
EditProfileActivity
在操作栏中有一个后退按钮,单击此按钮可关闭应用。
我想要做的不是关闭应用程序以将用户带到我的MainActivity
。
我在我的应用中的其他位置使用EditProfileActivity
来编辑个人资料,但来自MainActivity
。在这种情况下,后退按钮返回MainActivity
,这正是我想要的。
我怎么能做到这一点?
我需要从MainActivity
开始SignupActivity
,然后将其带到EditProfile
,还是可以避免这种情况?
答案 0 :(得分:0)
你有两个简单的选择,至少:
- 如果可能,请再次启动MainActivity
,验证其onCreate
方法中是否存在该额外费用,然后启动EditProfileActivity
。
- 使用startActivityForResult
开始EditProfileActivity
,并在需要MainActivity
方法时启动onActivityResult
。
答案 1 :(得分:0)
在EditProfileActivity
中,添加以下代码行:
// Required to start MainActivity when ActionBar back icon pressed
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: {
Intent intent = new Intent(EditProfileActivity.this, MainActivity.class);
startActivity(intent);
finish();
return true;
}
}
return super.onOptionsItemSelected(item);
}
// Required to start MainActivity when HW back KEY pressed
@Override
public void onBackPressed() {
Intent intent = new Intent(EditProfileActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
希望这会有所帮助〜