【问题标题】:Android ExpandableListView long group click listener prevent expandAndroid ExpandableListView 长组点击监听防止展开
【发布时间】:2012-02-23 21:42:11
【问题描述】:

我在我的 Android 应用程序中使用了 ExpandableListView,如果用户长按 group 元素,我想执行一个操作,所以我在我的 BaseExpandableListAdapter 扩展中定义了一个 OnLongClickListener。侦听器按方面工作,但子元素不再扩展。有什么想法吗?

 public class ConnectionAdapter extends BaseExpandableListAdapter {
    ...
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView,  
                             ViewGroup parent) {
        // convertView is a LinearLayout
        convertView.setOnLongClickListener(new OnLongClickListener() {
            public boolean onLongClick(View v) {
                // my action here
                return true;
            }
        });
     }
     ...   
 }

【问题讨论】:

    标签: android expandablelistview expand clickable expandablelistadapter


    【解决方案1】:

    您可以在可展开列表视图上设置 setOnItemLongClickListener。 ExpandableListView.PACKED_POSITION_TYPE_GROUP 是组的id,改成 ExpandableListView.PACKED_POSITION_TYPE_CHILD,您可以通过长按组子项进行操作。

    类似的东西:

        pager_income = (ExpandableListView) findViewById(R.id.income_scroll);
    
        pager_income.setOnItemLongClickListener(new OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                if (ExpandableListView.getPackedPositionType(id) == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
                    // Your code with group long click 
    
                    return true;
                }
    
                return false;
            }
        });
    

    【讨论】:

      【解决方案2】:

      您的代码没有进一步处理任何其他“onClick”事件的原因是您在返回中传递了一个“真”。如果您指示处理了某个事件,则操作系统将停止尝试进一步处理任何进一步的事件。要让它处理 THIS 事件并展开,则需要将 return 更改为 false 而不是 true

      【讨论】:

      • 我试过返回 false。但同样的问题对我来说也仍然存在。为convertview实现onLongClicklistener后组不会扩展
      • 我有同样的问题,只要我在我的组项目上实现长点击监听器,短点击(展开组)停止工作......任何帮助表示赞赏。
      猜你喜欢
      • 1970-01-01
      • 2013-11-13
      • 2019-12-14
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多