我尝试使用onClick on editText创建一个自定义的简单listView对话框。但是它一直在崩溃,而logcat在我的setAdapter上提到了java null指针异常。
这是我的代码
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>
你们可以告诉我哪里出了问题吗?
任何帮助将不胜感激。
谢谢:))
答案 0 :(得分:1)
您在Listog中有ListView。所以,
而不是
ListView kadarListView = (ListView) findViewById(R.id.kadar_list);
使用
ListView kadarListView = (ListView) dialog.findViewById(R.id.kadar_list);