[英]Android ViewPager2 how to retrieve the fragment onBindViewHolder
[英]how to refresh onBindViewHolder method in fragment
我在recyclearview的每個項目中都有復選框,所以我想保存復選框的state所以我在[adapter-class] onbindviewholder方法中為復選框創建單擊列表器,以存儲mysqlite數據庫中復選框的state,然后我正在檢索這些值和保存到復選框狀態
- 問題是 checkbox_state 僅在我重新打開我的應用程序時才刷新
@Override
public void onBindViewHolder(@NonNull myviewholder holder, int position) {
checkBox.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkBox.isChecked() == true){
database db1 = new database(context);
db1.update_data_ck( String.valueOf(id.get(getAdapterPosition()) ), "true");
}
else {
database db1 = new database(context);
db1.update_data_ck( String.valueOf(id.get(getAdapterPosition()) ),"false");
}
}});
}
//這里的id是arraylist
我看不到您正在更新復選框的 state 的代碼,對於每個視圖,您必須從數據庫中讀取復選框的 state 並在 bindviewholder 中設置,
比如:checkBox.setChecked(readCheckBoxStateFromDB())
如果您想在數據庫中保存復選框的 state,而不是查看創建檢查值並設置復選框的 state,您還可以使用共享偏好來存儲 state,但現在推薦的方式是您可以輕松使用房間實時數據更新方式 SQL Lite 編寫太多代碼以保存 state 並檢索 state
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.