列表视图适配器不想设置文本
listview adapter doesnt want to set text
好的,我正在尝试使用适配器从数组中进行简单的列表视图填充,所以我有:
public class 主要Activity 扩展 Activity {
String[] dish = {"soup", "rice", "grecha", "potato"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lunch);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.lunch);
ListView lunchLV = (ListView)findViewById(R.id.lunchLV);
cafeAdapter ca = new cafeAdapter();
lunchLV.setAdapter(ca);
}
public class cafeAdapter extends BaseAdapter {
@Override
public int getCount() {
return dish.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.list, null);
TextView title = (TextView) findViewById(R.id.title);
title.setText(dish[i]);
return view;
}
}
}
我还有 list.xml 个文件和 lunch.xml 个文件
出于一些奇怪的原因title.setText(dish[i]);产生错误并使我的程序崩溃。
我的 xml 文件中有 ID 为“标题”的元素,但无论如何 java.lang.NullPointerException:尝试在空 object 引用上调用虚拟方法 'void android.widget.TextView.setText(java.lang.CharSequence)'。
你知道我做错了什么吗?
你应该使用
TextView title = (TextView) view.findViewById(R.id.title);
改为:
TextView title = (TextView) findViewById(R.id.title);
好的,我正在尝试使用适配器从数组中进行简单的列表视图填充,所以我有:
public class 主要Activity 扩展 Activity {
String[] dish = {"soup", "rice", "grecha", "potato"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lunch);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.lunch);
ListView lunchLV = (ListView)findViewById(R.id.lunchLV);
cafeAdapter ca = new cafeAdapter();
lunchLV.setAdapter(ca);
}
public class cafeAdapter extends BaseAdapter {
@Override
public int getCount() {
return dish.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.list, null);
TextView title = (TextView) findViewById(R.id.title);
title.setText(dish[i]);
return view;
}
}
}
我还有 list.xml 个文件和 lunch.xml 个文件
出于一些奇怪的原因title.setText(dish[i]);产生错误并使我的程序崩溃。 我的 xml 文件中有 ID 为“标题”的元素,但无论如何 java.lang.NullPointerException:尝试在空 object 引用上调用虚拟方法 'void android.widget.TextView.setText(java.lang.CharSequence)'。
你知道我做错了什么吗?
你应该使用
TextView title = (TextView) view.findViewById(R.id.title);
改为:
TextView title = (TextView) findViewById(R.id.title);