1

ビルダーを作成するコード:

    builder = new AlertDialog.Builder(this);
    builder.setPositiveButton("connect",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int     id) {
                    devices.get(currentPos).setConnected(true);
                }
            });
    builder.setNegativeButton("dismiss",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // User cancelled the dialog
                }
            });
    builder.setView(getLayoutInflater().inflate(
            (R.layout.activity_device_details), null));
    builder.setTitle("more information");

builder.setView() から R.layout.activity_device_details に注意してください。これには、次のコードでダイアログを作成するときに入力したい TextView がいくつかあります。

    BPDevice dev = new BPDevice();
    dev = devices.get(position);

    AlertDialog dialog = builder.create();

    ((TextView) dialog.findViewById(R.id.name)).setText(dev.getName());

    dialog.show();

次の行が原因で nullpointerException が発生します: ((TextView) dialog.findViewById(R.id.name)).setText(dev.getName());

TextViews を適切に埋めるにはどうすればよいですか?

4

1 に答える 1