可扩展列表中的空组不可选

时间:2012-11-27 22:36:36

标签: android expandablelistview expandablelistadapter jquery-ui-selectable

长按一下,我希望ExpandableList中的每个组都有一个菜单。但目前只有非空组在长按并且可选时显示蓝色背景。所有空组都不会对长按进行响应。

我使用registerForContextMenu(list)将列表注册到片段,并编写以下代码:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    MenuInflater inflater = getActivity().getMenuInflater();
    inflater.inflate(R.menu.item_task_long_click_menu, menu);
}

@Override
public boolean onContextItemSelected( android.view.MenuItem item) {
    ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) item.getMenuInfo();

    switch(item.getItemId()) {
        case R.id.itlcm_menu_edit:
            //do something
            break;  
        case R.id.itlcm_menu_remove:
            //do something
            break;
    }
    return true;
}

在我设置的适配器中:

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
    return false;
}

为什么空组无法选择?还没有找到改变它的方法......

编辑:我想这是

registerForContextMenu(list)

也许没有孩子的团体没有注册长按....

任何人

1 个答案:

答案 0 :(得分:1)

我能够解决它。

问题不在于registerForContextMenu()。问题是我的自定义ExpandableListAdapter,其中我为GroupViews使用了两个不同的视图(getGroup(...))。对任何点击都没有反应的那个包含一个CheckBox,它覆盖了整个GroupView的焦点。所以我补充道:

android:focusable="false" 

到XML中的CheckBox,使用CheckBox的GroupView对点击进行了反应。