我在带有基本适配器的列表中使用自定义复选框。
问题是,当我点击一个未选中的复选框时,另一个复选框会自动被取消选中。
假设我在第 0 个位置单击一个复选框,然后另一个第 5 个位置的复选框将自动取消选中。
public View getView( int position, View convertView, ViewGroup parent) {
final ViewHolder holder = new ViewHolder();
if (convertView == null) {
convertView = mInflater.inflate(R.layout.socket_layer, null);
}
holder.checkBox = (ImageView) convertView.findViewById(R.id.checkBox_SocketFilter);
holder.filter_name=(TextView)convertView.findViewById(R.id.filter_name);
holder.filter_name.setText(rowItems.get(position));
holder.checkBox.setTag(position);
holder.onoff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = (Integer) v.getTag();
if(!selectedItems.get(position)){
selectedItems.put(position,true);
if(PrefUtils.socketCheck[position].equals(true))
{
holder.onoff.setImageResource(R.drawable.offf);
PrefUtils.socketCheck[position]=false;
selectedItems.delete(position);
}
else if(PrefUtils.socketCheck[position].equals(false)){
holder.onoff.setImageResource(R.drawable.onnn);
PrefUtils.socketCheck[position]=true;
selectedItems.delete(position);
}
}else{
selectedItems.delete(position);
}
}
});
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
请帮帮我。
最佳答案
像这样修改你的代码。
在设置点击监听之前,在onOff按钮中添加位置作为标签
holder.onoff.setTag(position);
并且在
onClick()
int position = (Integer) v.getTag();
然后在 onClick()
中使用这个位置变量进行操作。
关于android - 单击列表中某个位置的一个 View 和不同位置自动工作的其他 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34222848/