我想创建一个函数来创建一个AlertDialog并返回用户输入的字符串,这是我创建对话框的函数,该如何返回值?从AlertDialog返回一个值
String m_Text = "";
private String openDialog(String title) {
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
builder.setTitle(title);
final EditText input = new EditText(view.getContext());
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL);
builder.setView(input);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
m_Text = input.getText().toString();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
// return string
}
'return m_text'?你在确定处理程序中分配值...这不起作用吗? – Krease
我想函数返回m_text – OmerN
啊,'builder.show'不是一个阻塞函数。您需要阻止您的方法,直到值已准备就绪或使用回调机制。 – Krease