有没有办法有一个对话框,点击该对话框中的一个按钮,该按钮将进入另一个对话框,然后点击新对话框中的另一个按钮,将进入上一个对话框?
Dialog - > Dialog2 -> Dialog
这是我的代码:
private void showIBW() {
final String[] frame = { "Small", "medium", "large" };
AlertDialog.Builder framechoice = new AlertDialog.Builder(this);
framechoice.setTitle("please choose your frame size");
framechoice.setNeutralButton("what's this?",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
AlertDialog.Builder help = new AlertDialog.Builder(getApplicationContext());
help.setTitle("Frame explanation");
help.setMessage("cheikh is not helpful");
help.setNeutralButton("okay thanks", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
////// Here i want this button to get me back to the "Framechoice" dialog///
}
});
help.create();
help.show();
}
});
framechoice.setItems(frame, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SharedPreferences customSharedPreference = getSharedPreferences(
"myCustomSharedPrefs", Activity.MODE_PRIVATE);
Toast.makeText(getApplicationContext(), frame[which],
Toast.LENGTH_LONG).show();
String Height = customSharedPreference.getString("heightpref",
null);
float height = Integer.parseInt(Height);
float weight1 = ((height / 100) * (height / 100)) * 20;
float weight2 = ((height / 100) * (height / 100)) * 25;
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(
CalculationsActivity.this);
dialogBuilder.setTitle("Ideal weight calculator");
dialogBuilder
.setMessage("Your ideal weight is between:\n "
+ Math.round(weight1)
+ " Kg to "
+ Math.round(weight2) + " kg");
dialogBuilder.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Intent u = new Intent();
u.setClass(CalculationsActivity.this,
CalculationsActivity.class);
startActivity(u);
}
}).create();
dialogBuilder.show();
}
}).create();
framechoice.show();
}
答案 0 :(得分:0)
如果您正在寻找解决方案
//////我希望这个按钮让我回到“Framechoice”对话框///
用
替换它dialog.cancel();
看看这是否有帮助。
答案 1 :(得分:0)
您应该将您的活动用作AlertDialog.Builder的上下文,而不是应用程序的c 上下文。
更多信息:
Why does AlertDialog.Builder(Context context) only accepts Activity as a parameter?
https://groups.google.com/forum/?fromgroups#!msg/android-beginners/22dlKekP_V0/t8XfhoDlsQsJ