Android 为ListView设置适配器时出现NullPointer异常 `适配器类::: 公共类YAdapter扩展了ArrayAdapter{ 数组列表项; 语境; 私人停车场; 静态类视窗夹{ TextView-yName; } 公共YAdapter(上下文、ArrayList项){ 超级(上下文、右布局、单个项目、列表行、项目); this.context=context; mInflater=LayoutInflater.from(上下文); 这个项目=项目; } @凌驾 public int getCount(){ 返回items.size(); } @凌驾 公共字符串getItem(int arg0){ 返回项目。获取(arg0); } @凌驾 公共长getItemId(int arg0){ 返回arg0; } @凌驾 公共视图getView(最终整数位置、视图转换视图、视图组父视图){ 最终持票人; if(convertView==null){ convertView=充气机。充气(右布局。单个项目列表行,空); holder=新的ViewHolder(); holder.yName=(TextView)convertView.findViewById(R.id.text1); convertView.setTag(支架); } 否则{ holder=(ViewHolder)convertView.getTag(); } 尝试 { if(items.get(position)!=null) holder.yName.setText(items.get(position)); } 捕获(例外e){ Log.e(“错误”,“生成视图中的适配器错误”); } 返回视图; } } 活动类别:: 公共类DemoActivity扩展了活动{ 列表视图列表视图; ArrayList temp=新的ArrayList(); 自适应适配器; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); listView=(listView)findViewById(R.id.list); } @凌驾 恢复时公开作废(){ super.onResume(); 临时添加(“一”); 临时增加(“两”); 临时增加(“三”); 临时增加(“四”); 适配器=新的YAdapter(DemoActivity.this,temp); **setAdapter(适配器);**--异常 } } setAdapter(适配器); 这一行导致一个异常。
当我尝试将适配器设置为列表时,如果我删除这一行,则会出现错误。屏幕上不会显示任何错误,也不会显示任何组件,只会显示一个黑屏Android 为ListView设置适配器时出现NullPointer异常 `适配器类::: 公共类YAdapter扩展了ArrayAdapter{ 数组列表项; 语境; 私人停车场; 静态类视窗夹{ TextView-yName; } 公共YAdapter(上下文、ArrayList项){ 超级(上下文、右布局、单个项目、列表行、项目); this.context=context; mInflater=LayoutInflater.from(上下文); 这个项目=项目; } @凌驾 public int getCount(){ 返回items.size(); } @凌驾 公共字符串getItem(int arg0){ 返回项目。获取(arg0); } @凌驾 公共长getItemId(int arg0){ 返回arg0; } @凌驾 公共视图getView(最终整数位置、视图转换视图、视图组父视图){ 最终持票人; if(convertView==null){ convertView=充气机。充气(右布局。单个项目列表行,空); holder=新的ViewHolder(); holder.yName=(TextView)convertView.findViewById(R.id.text1); convertView.setTag(支架); } 否则{ holder=(ViewHolder)convertView.getTag(); } 尝试 { if(items.get(position)!=null) holder.yName.setText(items.get(position)); } 捕获(例外e){ Log.e(“错误”,“生成视图中的适配器错误”); } 返回视图; } } 活动类别:: 公共类DemoActivity扩展了活动{ 列表视图列表视图; ArrayList temp=新的ArrayList(); 自适应适配器; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); listView=(listView)findViewById(R.id.list); } @凌驾 恢复时公开作废(){ super.onResume(); 临时添加(“一”); 临时增加(“两”); 临时增加(“三”); 临时增加(“四”); 适配器=新的YAdapter(DemoActivity.this,temp); **setAdapter(适配器);**--异常 } } setAdapter(适配器); 这一行导致一个异常。,android,listview,adapter,Android,Listview,Adapter,当我尝试将适配器设置为列表时,如果我删除这一行,则会出现错误。屏幕上不会显示任何错误,也不会显示任何组件,只会显示一个黑屏 我的代码如下所示。我得到了空指针异常。请告诉我我错过了什么?看这一行,你的活动名称 `Adapter class ::: public class YAdapter extends ArrayAdapter<String> { ArrayList<String> items; Context co
我的代码如下所示。我得到了空指针异常。请告诉我我错过了什么?看这一行,你的活动名称
`Adapter class :::
public class YAdapter extends ArrayAdapter<String> {
ArrayList<String> items;
Context context;
private LayoutInflater mInflater;
static class ViewHolder {
TextView yName;
}
public YAdapter(Context context,ArrayList<String> items) {
super(context, R.layout.single_item_list_row, items);
this.context=context;
mInflater = LayoutInflater.from(context);
this.items = items;
}
@Override
public int getCount() {
return items.size();
}
@Override
public String getItem(int arg0) {
return items.get(arg0);
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if(convertView == null) {
convertView = Inflater.inflate(R.layout.single_item_list_row,null);
holder = new ViewHolder();
holder.yName=(TextView)convertView.findViewById(R.id.text1);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
try
{
if(items.get(position) != null)
holder.yName.setText(items.get(position));
}
catch (Exception e) {
Log.e("ERROR","Adapter error in generating view);
}
return convertView;
}
}
Activity Class ::
public class DemoActivity extends Activity {
ListView listView;
ArrayList<String> temp = new ArrayList<String>();
YAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = (ListView) findViewById(R.id.list);
}
@Override
public void onResume() {
super.onResume();
temp.add("one");
temp.add("two");
temp.add("three");
temp.add("four");
adapter = new YAdapter(DemoActivity.this , temp);
**listView.setAdapter(adapter);** -- exception
}
}
listView.setAdapter(adapter);
this line causes an exception.
在适配器线路上
public class Activity extends Activity {
那么什么是YellowPagesActivity呢?这个?就像使用@ViewById(R.id.list)一样,所以不需要查找dviewById
问题到期了
adapter = new YAdapter(YellowPagesActivity.this , temp);
我想它就在适配器类下面LOL它是什么???谁告诉我的答案???他使用的是androidannotations opps我注意到@ViewById(R.id.list),但你也有@EActivity(R.layout.main)……-抱歉,但我认为@User37035答案是正确的。。。。。。。。。
adapter = new YAdapter(YellowPagesActivity.this , temp);