Android:listview:自定义项:nullpointerexception,findviewbyid返回null

Android:listview:自定义项:nullpointerexception,findviewbyid返回null,第1张

概述我一直在谷歌搜索和搜索解决这个错误一段时间,我似乎无法找出原因以及如何解决它.我正在使用customAdapter填写我的列表视图.我膨胀描述我的listItem的xml.我使用findViewById创建viewHolder对象并在textview中加载.之后,我想设置该textview的文本,但findViewbyid返回一个空值.所

我一直在谷歌搜索和搜索解决这个错误一段时间,我似乎无法找出原因以及如何解决它.

我正在使用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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1100955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存