android studio适配器Adapter
适配器的值空情况出现情况:先建适配器,此时为无值情况this.listData=listData;notifyDataSetChanged();//刷新//先建适配器mySpAdapter = new MySpAdapter(PlanSelectSmallActivity.this);spFrequency.setAdapter(mySpAdapter);//再建值mySpAdapter.setD
·
适配器的值空情况
出现情况:先建适配器,此时为无值情况
this.listData=listData;
notifyDataSetChanged();//刷新
//先建适配器
mySpAdapter = new MySpAdapter(PlanSelectSmallActivity.this);
spFrequency.setAdapter(mySpAdapter);
//再建值
mySpAdapter.setData(listData);
解决办法:
@Override
public int getCount() {
return listData==null?0:listData.size();//size为0
}
@Override
public Object getItem(int position) {
return listData==null?null:listData.get(position);//position为空
}
onCreateView执行规律
加下面这个后,就执行有序,不然会错乱
//刷新图片不混乱
@Override
public int getItemViewType(int position) {
return position;
}
顺序为1到position
实现关卡
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onBindViewHolder(@NonNull ViewHolderLattice holder, int position) {
Log.d("MyLatticeAdapter",allMouth+"\n"+ageMouth);
for (int i = 0; i <ageMouth ; i++) {//25
if (position==i){
holder.ci_lattice.setEnabled(false);//不可点击
if (!holder.ci_lattice.isEnabled()){//如果不可点击就变色
holder.ci_lattice.setImageResource(0);//去掉全部颜色
holder.ci_lattice.setImageResource(R.color.ci_end);
}
}
}
}
内存优化一下下
code:for (int i = position; i <ageMouth ; i++) {//改进,内存优化:原来是for (int i = 0; i <ageMouth ; i++)
if (position==i){
holder.ci_lattice.setEnabled(false);//不可点击
if (!holder.ci_lattice.isEnabled()){//如果不可点击就变色
holder.ci_lattice.setImageResource(0);//去掉全部颜色
holder.ci_lattice.setImageResource(R.color.ci_end);
break code;//改进,内存优化
}
}
}
适配器接口回调
更新中……
如果对您有帮助,就给个赞吧,师兄师姐(我看到有帮助的文章都会给点赞的,你们是不是应该给个赞啊)
更多推荐
已为社区贡献17条内容
所有评论(0)