对CHOICE_MODE_MULTIPLE_MODAL
使用ListView
并且它运行正常。问题是我的ListView
行项目包含2个按钮。我希望在检查一些行时将所有行按钮设置为禁用。如何实现此目的?
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;
}
});
答案 0 :(得分:0)
检查何时检查了一些行。
为要禁用的按钮调用buton.setEnabled(false)。
答案 1 :(得分:0)
//在模型类中添加一个布尔值,并在适配器中检查相同的条件
raw_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (<booleanvar==true>) {
//
}
}
});