无法捕获Android Listview复选框状态

时间:2014-02-25 15:48:49

标签: android listview checkbox

尽我所能,我根本检测不到Listview复选框的true / false(选中/未选中)状态。我正在构建这些,这可能是问题的一部分。

我的代码:

  1. 使用复选框构建列表视图:

            ArrayAdapter<String> adapter = new ArrayAdapter<String>(                
     activity, android.R.layout.simple_list_item_multiple_choice, results);
    setListAdapter(adapter);
    for (int i = 0; i < activity.getListAdapter().getCount(); i++) {
                        activity.getListView().setItemChecked(i, true); //doesn't work BTW
    

    }

  2. 捕获复选框点击事件://从不显示已选中,即使是

    @Override
    protected void onListItemClick(ListView lv, View view, int position, long id) {     
        super.onListItemClick(lv, view, position, id);
        CheckedTextView checkBox = (CheckedTextView)this.activity.getListView().getAdapter().getView(position, view, null);
    
  3. 非常感谢

    最高

1 个答案:

答案 0 :(得分:0)

所以这就是我想出来的:

在我的提交逻辑中,我无法获取checkBox状态,因此我在onItemClick中跟踪它

unfollowerState是我用来跟踪已检查状态的布尔数组...我在提交时提取

protected void onListItemClick(ListView lv, View view, int position, long id) {     
    super.onListItemClick(lv, view, position, id);
    CheckedTextView checkBox = (CheckedTextView) view; //get the UI checkBox
    Log.i(LOG_TAG, ".onListItemClick" + checkBox.getText() + " " + checkBox.isChecked());
    unfollowerState[position-1]=checkBox.isChecked();  //record the check state
}