我尝试更新列表项重量代码工作正常
@NonNull
@Override
public viewlistx onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View xd = getLayoutInflater().inflate(R.layout.lay_yesno_list,parent,false);
return new viewlistx(xd);
}
@Override
public void onBindViewHolder(@NonNull viewlistx holder, final int position) {
btyesi = holder.btyes;
holder.btyes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.w("click","pos: " + position);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) btyesi.getLayoutParams();
params.weight = 2.0f;
btyesi.setLayoutParams(params);
}
});
}
@Override
public int getItemCount() {
return 4;
}
public class viewlistx extends RecyclerView.ViewHolder{
private final TextView btyes;
public viewlistx(@NonNull View itemView) {
super(itemView);
btyes = itemView.findViewById(R.id.yesbtx);
}
}
}
但问题是,当我点击一个项目时,它会改变下一个项目的重量
例如,位置0单击位置1项目值更改或位置1单击位置2项目值更改
我做错什么了?
1条答案
按热度按时间xu3bshqb1#
找到了一种方法来修复列表中的动画必须更改的使用值
到
它的工作很好