ListView 对话框中的空指针异常

Null Pointer Exception on ListView Dialog

我尝试在 editText 上使用 onClick 创建一个自定义的简单 listView 对话框。但它一直在崩溃,logcat 在我的 setAdapter 上提到 java 空指针异常。

这是我的代码

kadarInput.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {


            final Dialog dialog = new Dialog(context);
            dialog.setContentView(R.layout.custom_listview_dialog);
            dialog.setTitle("Kadar Emas");

            ArrayList<String> kadarList = new ArrayList<String>();
            kadarList.addAll( Arrays.asList(kadar) );

            ArrayAdapter<String> arrayItem = new ArrayAdapter<String>(context,
                    android.R.layout.simple_list_item_1, kadarList);

            ListView kadarListView = (ListView) findViewById(R.id.kadar_list);

            kadarListView.setAdapter(arrayItem);
            kadarListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    kadarInput.setText(kadarEmas[position]);
                    dialog.dismiss();
                }
            });

            dialog.show();
        }
    });

这是自定义对话框 xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/kadar_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="@null"
    android:dividerHeight="0dp"/>

</LinearLayout>

你们能告诉我哪里出了问题吗? 任何帮助将不胜感激。 谢谢:)

您的 ListView 位于 Dialog 中。所以,

而不是

ListView kadarListView = (ListView) findViewById(R.id.kadar_list);

使用

ListView kadarListView = (ListView) dialog.findViewById(R.id.kadar_list);