Android中的对话警报

时间:2012-05-06 13:28:48

标签: android dialog

有没有办法有一个对话框,点击该对话框中的一个按钮,该按钮将进入另一个对话框,然后点击新对话框中的另一个按钮,将进入上一个对话框?

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();


}

2 个答案:

答案 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