Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AlertDialog中的findViewById(具有自定义布局)-NullPointerException_Android - Fatal编程技术网

Android AlertDialog中的findViewById(具有自定义布局)-NullPointerException

Android AlertDialog中的findViewById(具有自定义布局)-NullPointerException,android,Android,我试图从AlertDialog中的EditText中获取文本,您可以看到下面创建的对话框。问题是,我无法检索文本视图。我得到的只是一个空值。有什么想法吗 final EditText editFirstname = (EditText) findViewById(R.id.editFirstname); final EditText editLastname = (EditText) findViewById(R.id.editLastname); bttAddPlay

我试图从AlertDialog中的EditText中获取文本,您可以看到下面创建的对话框。问题是,我无法检索文本视图。我得到的只是一个空值。有什么想法吗

    final EditText editFirstname = (EditText) findViewById(R.id.editFirstname);
    final EditText editLastname = (EditText) findViewById(R.id.editLastname);

    bttAddPlayer.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            AlertDialog.Builder builder = new AlertDialog.Builder(context);

            LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            builder.setView(layoutInflater.inflate(R.layout.dialog_add_player, null))
                    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int id) {
                            databaseHelper.addPlayer(editFirstname.getText().toString(),editLastname.getText().toString());
                            playerAdapter.notifyDataSetChanged();
                        }
                    })
                    .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });
            AlertDialog alertDialog = builder.create();
            alertDialog.show();
        }
    });
}

}

您需要在充气视图的内部搜索警报对话框,假设充气视图如下所示:

    View view = inflater.inflate(R.layout.dialog_add_player, container);
那么你需要做什么

EditText editFirstName = (EditText) view.findViewById(R.id.editFirstName);
EditText editLastName  = (EditText) view.findViewById(R.id.editLastName);

看起来你现在正试图为不存在的东西实例化一个变量,你没有关于
EditText
实际位置的引用,它试图查看当前视图的内部,该视图不包含
EditText

我们需要堆栈跟踪。其中一个EditText变量为null。它们都为null。但是为什么呢?我在现场打字。。。