Tag: recyclerview

onCheckedChanged自动调用

我在回收站查看了一个开关,从数据库检索数据后,数据显示在recyclerview中。 当回收站打开时,我读DB,如果DB中的一个字段是“Y”,我启用开关,否则我禁用开关。 现在的问题是与此同时onCheckedchanged侦听器也被称为,我想只有当用户手动设置开关时调用onCheckedChanged。 打开下面的回收站时执行: holder.enabledisable.setChecked(messengerRecord.get_is_valid().equalsIgnoreCase("Y")); ViewHolder类: public class viewHolder extends RecyclerView.ViewHolder implements CompoundButton.OnCheckedChangeListener{ public SwitchCompat enabledisable; public viewHolder(View v) { enabledisable = (SwitchCompat) v.findViewById(R.id.enabledisable); enabledisable.setOnCheckedChangeListener(this); …………………………….. …………………………….. 刚刚打开recyclerView时调用的OncheckedChanged方法: @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Log.v("ranjith","called oncheckedchanged"); MessengerRecord rec; rec = dbHelper.getRecord(descview.getText().toString()); switch (buttonView.getId()) { case R.id.enabledisable: if (isChecked) { rec.set_is_valid("Y"); dbHelper.updateRecord(rec); } } […]