@SuppressLint({ "ViewHolder", "InflateParams" })
@Override
public View getView(final int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView = inflater.inflate(R.layout.item, null, true);
TextView txtName = (TextView) rowView.findViewById(R.id.txt_name);
CheckBox favotite = (CheckBox) rowView.findViewById(R.id.favorite_check);
txtName.setText(nam[position]);
if(fav[position]==0) {
favotite.setChecked(false);
} else if (fav[position]==1) {
favotite.setChecked(true);
}
favotite.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@SuppressLint("ShowToast")
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
MyDatabase MyDatabase = new MyDatabase(context);
SQLiteDatabase mydb = MyDatabase.getWritableDatabase();
if(isChecked) {
fav[position] = 0;
Toast.makeText(getContext(), "fav=0 / favDB:"+fav[position], 1000).show();
} else {
fav[position] = 1;
Toast.makeText(getContext(), "fav=1 / favDB:"+fav[position], 1000).show();
}
mydb.execSQL("update [main].[tb_book] set fav = "+fav[position]+" where ID = " + ID[position]);
Toast.makeText(getContext(), "favSQL / favDB:"+fav[position], 1000).show();
mydb.close();
}
});
return rowView;
} }
با شرط isChecked این کار رو انجام بدید ببینید نتیجه چی میشه
اگر مشکل حل نشد لطفا قشنگ با جزئیات توضیح بدید که چه اتفاقی میفته





پاسخ با نقل قول