运行截图
Android ListView下滑会报空指针异常_第1张图片
错误信息:
Android ListView下滑会报空指针异常_第2张图片
错误代码:

 public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {       // Log.d("size",bookList.size()+"");        Book book=getItem(position);        View view;        ViewHolder viewHolder;        if(convertView==null){            view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);            viewHolder=new ViewHolder();            viewHolder.bookAuthor=view.findViewById(R.id.book_item_author);            viewHolder.bookTitle=view.findViewById(R.id.book_item_title);            viewHolder.bookLastChapter=view.findViewById(R.id.book_item_lastChapter);        } else{           view=convertView;           viewHolder=(ViewHolder) view.getTag();        }        viewHolder.bookAuthor.setText(book.getAuthor());        viewHolder.bookTitle.setText(book.getTitle());        viewHolder.bookLastChapter.setText(book.getLastChapter());        return view;    }

错误原因:
ListView滑动后,viewHolder内的变量不能找到了。
解决方法:
convertView为null时候,设置 view.setTag(viewHolder);

 public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {       // Log.d("size",bookList.size()+"");        Book book=getItem(position);        View view;        ViewHolder viewHolder;        if(convertView==null){            view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);            viewHolder=new ViewHolder();            viewHolder.bookAuthor=view.findViewById(R.id.book_item_author);            viewHolder.bookTitle=view.findViewById(R.id.book_item_title);            viewHolder.bookLastChapter=view.findViewById(R.id.book_item_lastChapter);            view.setTag(viewHolder);        } else{           view=convertView;           viewHolder=(ViewHolder) view.getTag();        }        viewHolder.bookAuthor.setText(book.getAuthor());        viewHolder.bookTitle.setText(book.getTitle());        viewHolder.bookLastChapter.setText(book.getLastChapter());        return view;    }

更多相关文章

  1. Android 获取drawable中图片的高度宽度
  2. android 从webview中读取缓存的图片
  3. android 网络读取图片 带进度条
  4. android 多点触摸 实现图片缩放 Image Zoom
  5. Android应用程序之间共享文字和图片(二)
  6. android中setImageResource加载大图片出现oom解决方案
  7. Android跳转系统相机或相册获取图片
  8. android对大图片的缓存处理
  9. android 根据SD卡中图片路径读取并显示SD中的图片――源代码

随机推荐

  1. 如何取得android手机网络信息
  2. Checkbox(打勾显示输入的密码)
  3. Gallery組件學習总结及OutOfMemoryError:
  4. 修改软键盘的回车键为发送键
  5. android ImageView实现图片浏览器(点击左
  6. android heapStartSize heapMaximumSize
  7. android fastboot flash system 失败
  8. Android APK分析工具
  9. persist应用
  10. Android面试题目总结