0

私の目的は、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 の親である必要があると思います.間違っている場合は修正してください)。

4

2 に答える 2