1
現在、AlertDialogボックスからのユーザー入力を処理するのに苦労しています。すべてうまく動作しますが、私はそれを保存して別の関数内でアクセスするために、ユーザー入力をどうするべきかわかりません。android StudioのAlertDialogからuserInputを処理する
private void promptUser() {
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
final EditText promptTitle = new EditText(this);
promptTitle.setHint("Title");
layout.addView(promptTitle);
userPrompt = new AlertDialog.Builder(this);
userPrompt.setView(layout);
userPrompt.setTitle("Enter map information").setView(layout);
userPrompt.setPositiveButton("Create", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Log.i("AlertDialog", "Create button was hit");
Log.i("AlertDialog", "This is the text that was entered:" + promptTitle.getText().toString());
userInputs = promptTitle.getText().toString();
}
});
userPrompt.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Log.i("AlertDialog", "Cancel button was hit");
}
});
userPrompt.show();
}
と私は関数を呼び出す:
public void onMapClick(LatLng point) {
promptUser()
//Log.d(userInputs.get(0), "COOL");
}
私が遭遇してる主なエラーは)私のメソッドpromptUser(呼び出した後、すべてが実行されますが、コードの次の数行にはないということですユーザーがPositiveButtonをクリックするのを待ちます。たとえば、私のログには、「ユーザー入力:null」と表示されます。これは、tempStringはまだ使用できないためです。次のコード行を実行する前に、ユーザーがsubmitを押すまで関数を待たせることができますか?
謝罪。より多くのコードを編集して、私がしようとしていることを正確に示します。 – NoahK