【问题标题】:Android: skip activities while going between activitiesAndroid:在活动之间移动时跳过活动
【发布时间】:2018-06-13 23:05:50
【问题描述】:
我有 4 个活动 A、B、C 和 D。
过渡是 A -> B -> C-> D。现在在活动 D 中,我打开了一个带有“确定”按钮的对话框片段。当我单击“确定”按钮时,我想回到活动 B。直到这里我没有任何问题。但是在活动 B 中,当我单击返回按钮时,我想返回活动 A,但它却重定向到活动 D。我该如何实现?
附:我目前正在开发 Xamarin Android,但我确信该解决方案适用于两者。
【问题讨论】:
标签:
android
android-activity
xamarin.android
【解决方案1】:
您可以使用 finish() 方法和 onBackPressed() 完成之前的活动,只需重定向您想要的上一个活动。
举些例子:
A-->B-->C-->D
D 类的 onbackPressed 使用 Intent 调用 C 类。在所有类中都一样。
【解决方案2】:
在清单文件中设置活动 B 启动模式“singleTask”
android:launchMode="singleTask"
调用 D 到 B 活动后,您的 C 和 D 活动将销毁。
您的新意图数据通过此方法路由
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
更多信息请阅读this link info
【解决方案3】:
在安卓中:
@Override
public void onBackPressed() {
Intent intent = new Intent(this, YourActivity.class);
startActivity(intent);
}
在 xamarin 中:
public override void OnBackPressed()
{
var intent = new Intent(this, typeof(ActivityYouWhantToGetBackTo));
intent.SetFlags(ActivityFlags.ClearTop);
StartActivity(intent);
}
【解决方案6】:
在活动 B 中:
@Override
public void onBackPressed() {
Intent intent = new Intent(this, AActivity.class);
startActivity(intent);
}
你可以找到Xamarin格式here