【发布时间】:2017-11-06 17:08:31
【问题描述】:
好的,所以我有 3 个活动(A、B、C) 活动 A 是主要活动。 在活动 A 中,我有一个密码对话框和一个按钮(通向活动 B 的按钮)。
所以,当我打开我的应用程序时,会出现密码对话框。现在我的问题是,每当我在活动 B 中并按下返回按钮导致活动 A 时,密码对话框都会不断出现。我想要的是,密码对话框只有在我打开我的应用程序时才会出现,而不是当我从活动 B 回到活动 A 时才会出现。
活动 B
public void onBackPressed() {
AlertDialog.Builder adb = new AlertDialog.Builder(Form.this);
adb.setTitle("Go back to Activity A?");
adb.setCancelable(false);
adb.setNegativeButton("Cancel", null);
adb.setPositiveButton("Exit", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(ActivityB.this, ActivityA.class));
}
});
adb.show();
}
在我的活动 B 中,我有一个按钮(指向活动 C 的按钮)。这就是我在活动 B 中设置 onBackPressed 的原因。
活动 A
public void toB(View view) {
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
}
【问题讨论】:
-
在onBackPressed()中,在ActivityB中,当用户点击退出时,应该把他/她带到ActivityA,是吗?
-
另外,您是否希望能够从 ActivityB 转到 ActivityA?请使用活动 A 代码更新您的问题。
-
是的。我已经更新了我的代码。是 (ActivityB.this, ActivityA.class) 不是 (ActivityB.this, ActivityB.class)
-
1.在ActivityA中调用ActivityB时,是否关闭ActivityA? 2.如果从ActivityB调用ActivityC,在ActivityC中按回想去哪里,到B还是A? 3. 显示 ActivityA 的代码。
-
你去。按回我的活动 c 将导致我的活动 B。