我正在开发一个应用程序,其中我的导航抽屉从右到左打开。在这个导航抽屉里,我需要处理物品的过滤器。
我正在使用复选框和文本对ListView进行充气.ListView将填充复选框和过滤器文本,但在我的应用程序中,我无法处理点击事件。
对于前。当用户选择多个复选框时,应该触发点击事件,我的应用程序应该能够捕获那些选中的复选框值。但是,当我点击检查时,没有点击事件被处理。 但是当我用文本和图像给ListView充气时,我能够处理点击事件。
作为参考,我的抽屉布局类似于下图:
在我的NavigationDrawerFragment类中,我按如下方式处理click事件:
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时,我无法处理点击事件。
我尝试了很多方法,但却不知道。我认为这是导航抽屉的常见场景之一。
提前Thanx!
答案 0 :(得分:0)
根据您的意见,如果导航抽屉没有为复选框提供此类支持,您可以使用两个自定义imageview / Button表示已选中和未选中复选框。另一种方法,您可以尝试使用类似于导航抽屉的listview创建自定义动画活动。