Android setAdapter()中的NPE
我得到了用listview显示对话框的方法。这是我的密码: 方法:Android setAdapter()中的NPE,android,android-listview,android-adapter,Android,Android Listview,Android Adapter,我得到了用listview显示对话框的方法。这是我的密码: 方法: private void showWindow(){ Bitmap [] img = {dz, rz, s, ww}; Dialog builder = new Dialog(myContext); builder.setTitle("to jest list view"); CustomList adapter = new CustomList(myContext, android.R.layout.simple_
private void showWindow(){
Bitmap [] img = {dz, rz, s, ww};
Dialog builder = new Dialog(myContext);
builder.setTitle("to jest list view");
CustomList adapter = new CustomList(myContext,
android.R.layout.simple_list_item_1, img);
builder.setContentView(R.layout.wybierz_kolor);
ListView listView1 = (ListView) findViewById(R.id.listView1);
listView1.setAdapter(adapter);
builder.show();
listView1.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch(position){
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
}
}
});}
但在线listView1.setAdapteradapter;我有NPE。我找了,但什么也没找。也许我忘了什么,我不知道。感谢您的帮助因为ListView位于对话框布局内,所以请使用对话框上下文在setContentView之后初始化listView1,如下所示:
@user978758:layout使用TextView而不是ImageView来显示ListView中的行,因此,如果您想使用任何其他视图而不是TextView(如ImageView),则需要通过扩展任何可用适配器来创建自定义适配器我已获得自定义适配器:公共类CustomList Extendes ArrayAdapter{private final Context Context;private final Bitmap[]obrazki;public CustomListContext Context,int textViewResourceId,Bitmap[]obrazki{supercontext,textViewResourceId;this.Context=Context;this.obrazki=obrazki;}和getView方法:@Override public View getView-getViewint-position,View-convertView,ViewGroup-parent{LayoutInflater inflater=LayoutInflater.fromcontext;View rowView=inflater.inflater.layout.wybierz_kolor_obrazek,null;ImageView iv=ImageView rowView.findviewbydr.id.ImageView 1;iv.setImageBitmapobrazki[position];返回rowView;}
ListView listView1 = (ListView)builder.findViewById(R.id.listView1);