第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

RadioButton 檢查狀態(tài)在 RecyclerView 的滾動(dòng)事件上自動(dòng)更改

RadioButton 檢查狀態(tài)在 RecyclerView 的滾動(dòng)事件上自動(dòng)更改

斯蒂芬大帝 2023-04-13 14:05:00
我在 RecyclerView 項(xiàng)目中遇到 RadioButton 問題。根據(jù)“類型”,我更改了選中的 RadioButton。但是在加載所有數(shù)據(jù)之后,當(dāng)我單擊未選中的單選按鈕時(shí),它會(huì)被選中。但是在滾動(dòng)我剛剛單擊的已選中單選按鈕后,該按鈕未被選中。我想要檢查我剛剛單擊的按鈕。但它不會(huì)被檢查。我怎樣才能得到我想要的?誰能幫幫我嗎!?。。。。。∵@是我的適配器類:public class AttendanceAdapterLocal extends  RecyclerView.Adapter<AttendanceAdapterLocal.ViewHolder>{    private ArrayList<StudentAttendance> attendanceArrayList;    private Context context;    public AttendanceAdapterLocal(ArrayList<StudentAttendance> attendanceArrayList) {        this.attendanceArrayList = attendanceArrayList;    }    @NonNull    @Override    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_item_mark_attendance, viewGroup, false);        context = viewGroup.getContext();        return new ViewHolder(view);    }    @Override    public void onBindViewHolder(@NonNull final ViewHolder viewHolder, int i) {        final String type = attendanceArrayList.get(i).getType();        final String id = attendanceArrayList.get(i).getId();        final String name = attendanceArrayList.get(i).getName();        final String roll = attendanceArrayList.get(i).getRoll();        viewHolder.setData(name, roll, type, id);        final DatabaseHelper databaseHelper = new DatabaseHelper(context);        final User user = new AccessStorage(context).getUserDetails();        final String userId = user.getUserId();        viewHolder.radioPresent.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (databaseHelper.updateStudentAttendanceData(id, userId, "P", "0") > 0) {                    Toast.makeText(context, "Marked successfully.", Toast.LENGTH_LONG).show();                    viewHolder.radioPresent.setChecked(true);                } else {                    Toast.makeText(context, "Unable to mark attendance.", Toast.LENGTH_LONG).show();                }            }        });
查看完整描述

3 回答

?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

單擊單選按鈕使用界面,對(duì)傳遞給回收站視圖(內(nèi)部活動(dòng))的原始列表進(jìn)行必要的更改,然后使用 notifiDataSetChanged() 方法。



查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

如果您仍然遇到問題,您應(yīng)該創(chuàng)建一個(gè)模型類。



查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

只是一個(gè)小錯(cuò)誤。在您的 onClick 方法中,在更改狀態(tài)時(shí)只通知適配器。


 @Override

        public void onClick(View v) {

            if (databaseHelper.updateStudentAttendanceData(id, userId, "P", "0") > 0) {

                Toast.makeText(context, "Marked successfully.", Toast.LENGTH_LONG).show();

                viewHolder.radioPresent.setChecked(true);

            //Notify adapter 

             attendanceArrayList.notify();

            } else {

                Toast.makeText(context, "Unable to mark attendance.", Toast.LENGTH_LONG).show();

            }

        }

我可以看到,您在任何地方都做了同樣的事情。在更改列表中的任何內(nèi)容時(shí)通知適配器很重要。您可以使用 notifyDataSetChanged() 或 notifyItemChanged(selectedPosition);


查看完整回答
反對(duì) 回復(fù) 2023-04-13
  • 3 回答
  • 0 關(guān)注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)