【问题标题】:Detect ExpandableListView group click检测 ExpandableListView 组点击
【发布时间】:2011-05-18 14:08:03
【问题描述】:

我有一个自定义的 ExpandableListView elv,我可以使用下面的代码检测何时点击了 Child。

    elv.setOnChildClickListener(new OnChildClickListener() {
        public boolean onChildClick(ExpandableListView parent, View v, int groupPosition,
                int childPosition, long id) {

但是,当我更改它以尝试检测何时单击组项目时,这不起作用。有谁知道为什么?

Eclipse 给了我错误:

方法 setOnGroupClickListener(ExpandableListView.OnGroupClickListener) 在 ExpandableListView 类型中不是 适用于论点(新 OnGroupClickListener(){})

    elv.setOnGroupClickListener(new OnGroupClickListener() {
        public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition,
                long id) {

【问题讨论】:

    标签: android expandablelistview


    【解决方案1】:

    确保你已经正确导入android.widget.ExpandableListView.OnGroupClickListener或者替换

    新的 OnGroupClickListener() {

    new android.widget.ExpandableListView.OnGroupClickListener {

    【讨论】:

      【解决方案2】:

      这些方法也可以在ExpandableListAdapter内部使用

      公共无效 onGroupExpanded(int groupPosition) {}
      公共无效 onGroupCollapsed(int groupPosition) {}

      【讨论】:

        【解决方案3】:
        private ExpandableListView listView;
        
        
        listView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
        
                @Override
                public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
        
                              //get header
                    TextView lbListenerHeader = parent.findViewById(R.id.lbListHeader);
                    String data1= lbListenerHeader.getText().toString();
                    Toast.makeText(getContext(),data1 ,Toast.LENGTH_SHORT).show();
        
                            //get list item
                    TextView tv= (TextView) v.findViewById(R.id.lbListItem);
                    ExpandableListView elv= (ExpandableListView) parent.findViewById(R.id.lvExp);
                    String data= tv.getText().toString();
                    Toast.makeText(getContext(),data ,Toast.LENGTH_SHORT).show();
        
                    return true;
                }
        
            });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多