我一直在谷歌搜索和搜索解决这个错误一段时间,我似乎无法找出原因以及如何解决它.
我正在使用customAdapter填写我的列表视图.我膨胀描述我的ListItem的xml.我使用findVIEwByID创建vIEwHolder对象并在textvIEw中加载.之后,我想设置该textvIEw的文本,但findVIEwbyID返回一个空值.所以自动解析为nullpointerexception.
适配器:
/** CLASS : Custom Adapter for the ListvIEw */private class CustomAdapter extends ArrayAdapter<Track>{ private List<Track> items; private Context mContext; private int layoutResourceID; private VIEwHolder mHolder; public CustomAdapter(Context context, int layoutID, List<Track> objects) { super(context, layoutID, objects); layoutResourceID=layoutID; items = objects; mContext=context; } public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { if(convertVIEw == null){ LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertVIEw = inflater.inflate(layoutResourceID, parent, false); mHolder = new VIEwHolder(); ****** RETURNS NulL DURING DEBUGGING ****** mHolder.textVIEwCenter = (TextVIEw)findVIEwByID(R.ID.textvIEw_List_item_central); convertVIEw.setTag(mHolder); }else{ mHolder = (VIEwHolder) convertVIEw.getTag(); } Track track = items.get(position); ****** ERROR HAPPENS HERE ****** mHolder.textVIEwCenter.setText(track.getTrack()); return convertVIEw; } class VIEwHolder{ ImageVIEw imageVIEw; TextVIEw textVIEwCenter; TextVIEw textVIEwRight; }}
XML:
?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="fill_parent"androID:layout_height="wrap_content"androID:orIEntation="horizontal" ><ImageVIEw androID:ID="@+ID/imagevIEw_List_albumart_icon" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_gravity="left" androID:src="@drawable/ic_music" /><TextVIEw androID:ID="@+ID/textvIEw_List_item_central" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_gravity="center" androID:layout_weight="0.5" androID:text="Center" androID:textSize="20sp" ></TextVIEw><TextVIEw androID:ID="@+ID/textvIEw_List_item_right" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_gravity="right" androID:paddingRight="10dip" androID:text="Right" />
任何帮助表示赞赏!
解决方法:
在convertVIEw中搜索您膨胀的视图(而不是像当前那样在当前的Activity布局中):
mHolder.textVIEwCenter = (TextVIEw) convertVIEw.findVIEwByID(R.ID.textvIEw_List_item_central);
总结 以上是内存溢出为你收集整理的Android:listview:自定义项:nullpointerexception,findviewbyid返回null全部内容,希望文章能够帮你解决Android:listview:自定义项:nullpointerexception,findviewbyid返回null所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)