Android:在Toast alert对话框中切换案例

时间:2015-05-20 16:47:37

标签: android

Android:在toast alert对话框中切换案例。

我希望在返回时获取字符串。这是我的代码:

public String getValue(final int x) {

    final String[] c = new String[1];


    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setTitle("Title");
    builder.setItems(new CharSequence[]
                    {"1", "2", "3"},
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // The 'which' argument contains the index position
                    // of the selected item
                    switch (which) {
                        case 0:
                            Toast.makeText(context, "clicked 1", Toast.LENGTH_LONG).show();
                            c[0] = "1";
                            break;
                        case 1:
                            Toast.makeText(context, "clicked 2", Toast.LENGTH_LONG).show();
                            c[0] = "2";

                            break;
                        case 2:
                            Toast.makeText(context, "clicked 3", Toast.LENGTH_LONG).show();
                            c[0] = "3";
                            break;
                    }
                }
            });
    builder.create().show();

    return c[0];
}

然而它不会返回任何东西!

有没有人有任何想法?

1 个答案:

答案 0 :(得分:2)

onClick返回拼写错误,因此没有任何更改可以从那里返回值,而不会导致编译时错误。你可以做的是创建一个处理输入的方法,并从onClick调用它。 E.g。

public void myMethod(String input) {
   // do something with input
}

并将其命名为

public void onClick(DialogInterface dialog, int which) {
                // The 'which' argument contains the index position
                // of the selected item
                switch (which) {
                   // cases
                }
                myMethod(c[0]);
               // the other code