recycleview的复用问题
来源:互联网 发布:excel数据透视表在哪 编辑:程序博客网 时间:2024/05/17 22:37
其实很简单的问题 我不知道我怎么变那么蠢了
我原来想让第0个item改变一下样式之类的,然后就写了这样的代码
@Override
public void onBindViewHolder(UseHelpViewHolder holder, int position) {
holder.tvQuestion.setText(data.get(position).getQuestion().getValue());
holder.tvAnswer.setText(data.get(position).getAnswer().getValue());
if(position == 0){
holder.tvQuestion.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
holder.tvAnswer.setVisibility(View.GONE);
holder.tvQuestion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(UseHelpActivity.this,SupportDetailActivity.class);
startActivity(intent);
}
});
}
}
然后发现滑下去滑上来的时候,出现了复用的问题,纠结了半天应该怎么弄
后面发现应该这样写
@Override
public void onBindViewHolder(UseHelpViewHolder holder, int position) {
holder.tvQuestion.setText(data.get(position).getQuestion().getValue());
holder.tvAnswer.setText(data.get(position).getAnswer().getValue());
if(position == 0){
holder.tvQuestion.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
holder.tvAnswer.setVisibility(View.GONE);
holder.tvQuestion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(UseHelpActivity.this,SupportDetailActivity.class);
startActivity(intent);
}
});
}
else{
holder.tvQuestion.getPaint().setFlags(Paint.HINTING_OFF);
holder.tvAnswer.setVisibility(View.VISIBLE);
holder.tvQuestion.setOnClickListener(null);
}
}
就是你之前用这个holder设置了第0个item的,那么当你设置另外的顺序的时候,应该把设置第0个的时候的那些属性取消掉
如果使用quickAdapter,那么则是
mAdapter = new QuickAdapter<UseHelpTo>(this, R.layout.item_use_help){
@Override
protected void convert(BaseAdapterHelper helper, UseHelpTo item) {
LOG.pwh("convert position:"+helper.getAdapterPosition());
helper.setText(R.id.tv_question, item.getQuestion().getValue());
helper.setText(R.id.tv_answer, item.getAnswer().getValue());
if(helper.getAdapterPosition() == 0){
TextView tvQuestion = helper.getTextView(R.id.tv_question);
TextView tvAnswer = helper.getTextView(R.id.tv_answer);
tvQuestion.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
tvAnswer.setVisibility(View.GONE);
tvQuestion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(UseHelpActivity.this,SupportDetailActivity.class);
startActivity(intent);
}
});
}
else{
TextView tvQuestion = helper.getTextView(R.id.tv_question);
TextView tvAnswer = helper.getTextView(R.id.tv_answer);
tvQuestion.getPaint().setFlags(Paint.HINTING_OFF);
tvAnswer.setVisibility(View.VISIBLE);
tvQuestion.setOnClickListener(null);
}
}
};
- recycleview的复用问题
- RecycleView的问题笔记
- NestedScrollView嵌套RecycleView的问题
- 解决RecycleView的holder复用而导致checkbox乱选的问题
- recycleview中带有checkbox,edittext时的条目复用问题
- 解决scrollview嵌套recycleview,recycleview抢走滑动事件的问题
- Recycleview嵌套Recycleview中图片不能显示的问题
- 关于RecycleView嵌套Recycleview卡顿的问题
- Recycleview嵌套Recycleview时出现的一个问题-待解决
- 解决RecycleView嵌套RecycleView滑动卡顿的问题
- 关于recycleview的item的布局问题
- 关于ScrollView嵌套RecycleView的问题。
- 关于recycleview增加监听事件的问题
- RecycleView 删除Item 遇到的问题
- 处理 recycleview 和 手势冲突的问题
- scrollview嵌套recycleview冲突的问题3
- Recycleview嵌套ScrollView使用存在的问题
- RecycleView 最后一条Item 宽度的问题
- GIMP如何保留文字轮廓去除文字颜色
- UNIX网络编程:读写锁
- 短信验证码是什么?在网站中起到什么作用?
- 初识android内存的一些解决方案
- unity 常用的几种相机跟随
- recycleview的复用问题
- POJ - 2376 Cleaning Shifts
- PullScollToRefreshView scrollView GridView的嵌套
- TIJ 复习笔记4
- ruby 分页集锦
- js判断登录界面用户名和密码是否为空
- Mina快速编码测试验证示例
- gridbagconstraints
- Android解决NDK not configured问题