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>) {
//
}
}
});
我正在使用 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>) {
//
}
}
});