我正在开发一个抽屉导航从右向左打开的应用程序。在这个抽屉导航中,我需要处理一个项目的过滤器。
我正在用复选框和文本填充 ListView。ListView 中填充了复选框和过滤器文本,但在我的应用程序中我无法处理点击事件。
例如。当用户选择多个复选框时,应触发点击事件,我的应用程序应该能够捕获这些复选框的值。但是当我点击选中的时,没有处理点击事件。 但是当我用文本和图像填充 ListView 时,我能够处理点击事件。
作为引用,我的抽屉布局类似于下图:
在我的 NavigationDrawerFragment 类中,我按如下方式处理点击事件:
private class FilterDrawerItemClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
selectItem(position);
}
}
private void selectItem(int position) {
currentSelectedPosition = position;
if (drawerListView != null) {
drawerListView.setItemChecked(position, true);
}
if (drawerLayout != null ) {
drawerLayout.closeDrawer(fragmentContainerView);
}
// Fire the event off to the bus which.
// bus.post(new NavItemSelectedEvent(position));
bus.post(new FilterNavItemSelectedEvent(position));
}
当我从 ListView 中删除复选框时,它能够处理,但是当我将复选框放入 ListView 时,我无法处理点击事件。
我尝试了很多方法,但还是一无所知。我认为这是抽屉导航的常见场景之一。
提前致谢!
最佳答案
根据您的意见,如果抽屉导航不为复选框提供此类支持,您可以使用两个自定义 imageview/Button 表示已选中和未选中的复选框。另一种方法,您可以尝试使用类似于抽屉导航的 ListView 创建自定义动画 Activity 。
关于android - 如何处理抽屉导航上复选框的 ListView 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481605/