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];
}
但是它不返回任何东西!
有人有什么主意吗?
最佳答案
onClick
具有返回拼写错误,因此您可以从那里返回一个值而不会引起编译时错误,这一点没有变化。您可以做的是创建一个处理输入的方法,然后从onClick调用它。例如。
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