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];
}
然而它不会返回任何东西!
有没有人有任何想法?
答案 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