运行截图

错误信息:

错误代码:

 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开发环境配置教程
  2. android截图代码
  3. Android(安卓)学习笔记
  4. Android(安卓)5.1 去掉首次进入沉浸模式的提示
  5. Android之解决ViewPager2+PhotoView滑动图片花屏问题
  6. Android(安卓)tabLayout+recyclerView实现锚点定位
  7. 【源码分享下载】每日更新之Android应用源码之仿微信5.2布局
  8. android 布局文件中控件ID、name标签属性的命名包含“@”、“.”
  9. Android环境变量的设置

随机推荐

  1. 反编译apk文件
  2. Android实现自动更新功能
  3. rt2870 usb wifi在mx53 android平台上的
  4. Android(安卓)OpenGL入门示例:绘制三角形
  5. 我是如何自学成为程序员的
  6. Android中的dex分包
  7. Android(安卓)Eclipse下工程移植到Androi
  8. Android状态栏提醒(Notification,Notific
  9. Android(安卓)禁止ViewPager的滑动效果
  10. Android之rild进程启动源码分析