recyclerview 数据混乱
来源:互联网 发布:爱丽丝疯狂回归mac版 编辑:程序博客网 时间:2024/05/17 04:55
如上图,这是我的item layout,这是我的bindView里的代码:
public void bindView(int position) { ChatMessage msg = mMsgs.get(position); if (msg.getFrom().equals(Constants.PEER)) { mReceivedTv.setText(msg.getContent()); mSenderIv.setVisibility(View.INVISIBLE); mSenderTv.setVisibility(View.INVISIBLE); } else if (msg.getFrom().equals(Constants.ME)) { mSenderTv.setText(msg.getContent()); mReceivedIv.setVisibility(View.INVISIBLE); mReceivedTv.setVisibility(View.INVISIBLE); } }
感觉代码没问题,结果数据还是混乱了。
解决办法(直接上代码):
public void bindView(int position) { ChatMessage msg = mMsgs.get(position); if (msg.getFrom().equals(Constants.PEER)) { //必须要设置接收信息布局和发送的信息的布局的Visible,否则数据会混乱。 setVisibility(View.INVISIBLE, View.VISIBLE); mReceivedTv.setText(msg.getContent()); } else if (msg.getFrom().equals(Constants.ME)) { setVisibility(View.VISIBLE, View.INVISIBLE); mSenderTv.setText(msg.getContent()); }// Log.d(TAG, "bindView: " + msg.getFrom()); } private void setVisibility(int senderVisibility, int receivedVisibility) { mSenderIv.setVisibility(senderVisibility); mSenderTv.setVisibility(senderVisibility); mReceivedIv.setVisibility(receivedVisibility); mReceivedTv.setVisibility(receivedVisibility); }
说到底,还是RecyclerView的复用机制的问题,抽空好好研究下。
0 0
- recyclerview 数据混乱
- recyclerView.notifyItemRemoved数据索引混乱
- RecyclerView + EditText item 复用造成数据混乱
- 【Android】为 RecyclerView增加监听以及数据混乱的小坑
- RecyclerView中EditText数据混乱,FoldingCell折叠布局第一次点击有问题
- RecyclerView设置适配器Adapter时不能传递数据集合的直接引用,否则会导致主Activity数据混乱
- RecyclerView中CheckBox显示混乱的解决办法
- Recyclerview嵌套edittext,checkbox混乱问题
- Android ListView 数据混乱
- ListView匹配数据混乱
- 轻松解决listView数据混乱
- RecyclerView 复用出现 CheckBox 或者 设置背景混乱问题
- RecyclerView中使用CheckBox出现勾选混乱的解决方案
- RecyclerView中使用CheckBox出现勾选混乱的解决方案
- RecyclerView+checkbox滑动导致复用混乱问题的解决方案
- ListView,RecyclerView遇CheckBox复用混乱解决方案
- RecyclerView的Item复用出现问题导致排版混乱
- RecyclerView条目复用导致混乱的解决方案之一
- Android中ActivityManager的使用案例
- Openstack Newton Dashboard ERROR 500
- 外键约束
- 软件框架搭建
- mongoDB——主从复制介绍及简单实现
- recyclerview 数据混乱
- ODI调用WebService---->OdiInvokeWebService
- HTML5基础加强css样式篇(font-family,font-size, font-style,font-variant, font-weight , font 简写属性 )(五)
- CSS的选择器
- GPU架构基础 之 L1 data cache & Unified L2 cache IN Fermi Arch
- linux中断处理(linux内核设计与实现第三版)
- Spring Boot 学习笔记
- .net平台的rabbitmq使用封装
- javascript的call方法总结