单击 ActionBar 后退按钮时创建 activity
Create activity on click of ActionBar back button
现在我有一个应用程序可以将用户从 SignupActivity
直接带到 activity 再到 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
。在那种情况下,后退按钮 returns 到 MainActivity
这正是我想要的。
我怎样才能做到这一点?
我是否需要从 SignupActivity
开始 MainActivity
然后将其带到 EditProfile
还是我可以避免这种情况?
您至少有两个简单的选择:
- 如果可能,用一些额外的东西启动你的 MainActivity
,验证它的 onCreate
方法中是否存在额外的东西,然后启动你的 EditProfileActivity
。
- 使用 startActivityForResult
启动您的 EditProfileActivity
并在需要时使用其 onActivityResult
方法启动您的 MainActivity
。
在您的 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();
}
希望对你有所帮助~
现在我有一个应用程序可以将用户从 SignupActivity
直接带到 activity 再到 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
。在那种情况下,后退按钮 returns 到 MainActivity
这正是我想要的。
我怎样才能做到这一点?
我是否需要从 SignupActivity
开始 MainActivity
然后将其带到 EditProfile
还是我可以避免这种情况?
您至少有两个简单的选择:
- 如果可能,用一些额外的东西启动你的 MainActivity
,验证它的 onCreate
方法中是否存在额外的东西,然后启动你的 EditProfileActivity
。
- 使用 startActivityForResult
启动您的 EditProfileActivity
并在需要时使用其 onActivityResult
方法启动您的 MainActivity
。
在您的 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();
}
希望对你有所帮助~