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'?あなたはOKハンドラで値を割り当てています...それは動作しませんか? – Krease
関数がm_textを返すようにします。 – OmerN
ああ、 'builder.show'はブロック関数ではありません。値が準備できるまでメソッドをブロックするか、コールバックメカニズムを使用する必要があります。 – Krease