我想創建一個函數來創建一個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