私の目的は、TextView
ユーザーがクリックしたときに a のテキストを変更し、ユーザーが入力したプレーヤー名に置き換えることです。だから私はそれに追加しOnClickListener
ました。クリックするとDialog
、ユーザー入力を求めるプロンプトが表示されます。
private void setPlayerName(TextView textView) {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Title");
alert.setMessage("Enter Player1 Name");
// Set an EditText view to get user input
final EditText inputText = new EditText(this);
alert.setView(inputText);
alert.setPositiveButton("Ok", new inputclickListener(textView));
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
alert.show();
}
inputclickListener クラスのコードは次のとおりです。
class inputclickListener implements android.content.DialogInterface.OnClickListener {
TextView textView;
public inputclickListener(TextView textView){
this.textView = textView;
}
@Override
public void onClick(DialogInterface dialog, int which) {
//String value = inputText.getText().toString(); //Here I need reference to inputtext
if(value != null && value.length()>0) {
textView.setText(value);
}
}
}
クラスのコードのコメントで述べたように、ビューinputclickListener
であるinputTextへの参照が必要です。EditText
私の質問は、参照がある場合にその参照を取得するにはどうすれDialog
ばよいですか (これは Views/EditText の親である必要があると思います.間違っている場合は修正してください)。