如何查看listview中的已选中复选框?

时间:2017-06-27 06:51:58

标签: android listview android-checkbox

我在查看android

中选中的复选框时遇到了问题

这是我的代码

  contactNumberList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {

            CheckBox checkBox = (CheckBox)view.findViewById(R.id.checkbox_number);

            AllContact contactNumber = contactsList.get(position);
            String num = contactNumber.getNumber();
            SelectedSpecificContact specificContact = new SelectedSpecificContact();
            specificContact.setNumber(num);

            if(!checkBox.isChecked())  {
                checkBox.setChecked(true);

                realmDbHelper.addSpecificSelectedNumber(specificContact);
                Log.e("number", num);
            }else{
                checkBox.setChecked(false);
                specificContact.setNumber(num);
                realmDbHelper.deleteAllSelectedData(specificContact);
            }
        }
    });

选中的列表项目保存在数据库中。我想知道列表视图中检查了哪些项目。 我已经在项目点击监听器的listview中初始化了复选框。它仅在当前活动时显示已选中的复选框。如果活动被销毁,则不检查已选中的复选框。

如何在活动出现时查看已选中的复选框。

2 个答案:

答案 0 :(得分:1)

  

设置checkbox.setChecked(true);条件,数据库返回true条件。   假设数据库在星期一的星期日为选择返回true,

  if (monday == 1) {
       chkMonday.setChecked(true);
       Object.setMonday(1);
  } 
  

您可以在onCreate()或onResume()

中执行此操作

答案 1 :(得分:0)

在bean类is_active中创建一个布尔或整数字段,如SelectedSpecificContact.class中所示。并在检查并将其存储在数据库中时将其值设置为1true

下次从数据库加载时检查它是否为true ..如果true将可绘制状态设置为已选中。