choice_mode 打开时禁用所有列表视图项目的按钮单击

disable button click of all listview item when choice_mode is on

我正在使用 CHOICE_MODE_MULTIPLE_MODAL 作为 ListView 并且工作正常。问题是我的 ListView 行项目包含 2 个按钮。当我有一些行 checked.How 来实现此目的时,我希望将所有行按钮设置为禁用?

listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);

    listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
        @Override
        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
            final int checkedCount = studentListView.getCheckedItemCount();
            mode.setTitle(checkedCount + " selected");
            adapter.toggleSelection(position);
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            SparseBooleanArray selected;
            switch (item.getItemId())
            {
                case R.id.menu_item1:

                    mode.finish();
                    return true;

                case R.id.menu_item2:

                    mode.finish();
                    return true;

                case R.id.menu_item3:

                    mode.finish();
                    return true;
                default:
                    return false;
            }
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            mode.getMenuInflater().inflate(R.menu.multiselectmenu, menu);
            return true;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            adapter.removeSelection();
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }
    });

检查何时检查了一些行。

为要禁用的按钮调用 buton.setEnabled(false)。

// 在模型中添加一个布尔值 class 并检查适配器中的相同条件

        raw_button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if (<booleanvar==true>) {
                    // 
                }
            }
        });