androd的自定义Adapter中的NullPointerException
来源:互联网 发布:网络系统解决方案 编辑:程序博客网 时间:2024/06/07 11:55
错误信息如下
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.carry.myapplication, PID: 15297java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference
at com.example.carry.myapplication.MyAdapter.getView(MyAdapter.java:64)
at android.widget.AbsListView.obtainView(AbsListView.java:2363)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1326)
at android.widget.ListView.onMeasure(ListView.java:1233)
at android.view.View.measure(View.java:19857)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:689)
at android.view.View.measure(View.java:19857)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2275)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1366)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1619)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
解决办法,是因为没有正确反射对应的xml,
错误前
public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh=null; if(convertView==null){ vh=new ViewHolder(); convertView=inflater.inflate(R.layout.Third_Activity,null); vh.logo=(ImageView)convertView.findViewById(R.id.logo); vh.ttl=(TextView)convertView.findViewById(R.id.ttl); vh.version=(TextView)convertView.findViewById(R.id.version); vh.size=(TextView)convertView.findViewById(R.id.size); convertView.setTag(vh); }else{ vh=(ViewHolder)convertView.getTag(); } vh.logo.setImageResource((Integer)dataList.get(position).get("logo")); vh.ttl.setText((String)dataList.get(position).get("ttl")); vh.version.setText((String)dataList.get(position).get("version")); vh.size.setText((String)dataList.get(position).get("size")); return convertView; }
修改后
public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh=null; if(convertView==null){ vh=new ViewHolder(); convertView=inflater.inflate(R.layout.items,null); vh.logo=(ImageView)convertView.findViewById(R.id.logo); vh.ttl=(TextView)convertView.findViewById(R.id.ttl); vh.version=(TextView)convertView.findViewById(R.id.version); vh.size=(TextView)convertView.findViewById(R.id.size); convertView.setTag(vh); }else{ vh=(ViewHolder)convertView.getTag(); } vh.logo.setImageResource((Integer)dataList.get(position).get("logo")); vh.ttl.setText((String)dataList.get(position).get("ttl")); vh.version.setText((String)dataList.get(position).get("version")); vh.size.setText((String)dataList.get(position).get("size")); return convertView; }
阅读全文
0 0
- androd的自定义Adapter中的NullPointerException
- Androd中的生命周期的总结
- Android中的listview的adapter自定义适配器
- Adapter中常见遇到的NullPointerException
- Androd自定义圆环进度条的实现
- androd自定义有进度的圆形进度条
- Androd自定义Toast
- Androd 自定义进度条
- androd 自定义ActionBar
- 自定义ListView的Adapter
- 自定义Adapter的心得
- 自定义Adapter的ListView
- 我的自定义Adapter
- 自定义listview的adapter
- Listview的自定义Adapter
- 自定义Adapter的使用
- 自定义的Adapter用法
- 自定义adapter的listview
- ARM移植rz和sz命令
- VPN服务器的配置
- 算法竞赛入门经典(第2版)习题3-9 子序列(All in All) Uva10340
- SpringMVC学习(三)——SpringMVC的配置文件
- Python 正则... 有些乱
- androd的自定义Adapter中的NullPointerException
- html定义列表嵌套
- PDFbox的一些用法
- Java中SAX方式解析XML
- Struts2核心技术 (二)
- UVa140宽带
- STL之set/multiset容器
- 学习【OpenCV入门教程之九】 非线性滤波专场:中值滤波、双边滤波---思维导图笔记
- ubuntu14.04 google chrome浏览器提示adobe flash player过期问题解决