0

ListView のエントリに関する詳細情報を表示するダイアログ ポップアップを作成しようとしています。ListView は正常に生成されており、ダイアログのすべての変数は正常に初期化されていますが、関連する説明を EditText ボックスに書き込もうとすると、NullPointerException がスローされます。何か案は?

@Override
  protected void onListItemClick(ListView l, View v, int position, long id) {
    //TODO Add code for action performed on item click here
    // i.e. open dialogue showing details

    // Custom dialog box
    final Dialog dialog = new Dialog(context);
    dialog.setContentView(R.layout.view_dialog);
    dialog.setTitle("Description: " + savedSubjects[position]);

    // set custom dialog components
    EditText descriptionOutput = (EditText) findViewById(R.id.dialogText);
    String descToWrite = savedDescriptions[position]; // I created this in case calling from the array was the problem. In the trace this variable is correctly set.

    descriptionOutput.setText(descToWrite); //the error occurs at this line


    // set dismiss button
    Button dialogButton = (Button) findViewById(R.id.dialogButton);
    //if button is clicked close the dialog
    dialogButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            dialog.dismiss();
        }
    });

    // display the dialog
    dialog.show();
  }
4

1 に答える 1

6

使用する

EditText descriptionOutput = (EditText)dialog.findViewById(R.id.dialogText);

それ以外の

EditText descriptionOutput = (EditText) findViewById(R.id.dialogText);

ダイアログレイアウトから EditText にアクセスする

于 2013-01-15T11:40:38.863 に答える