2013-03-29 60 views
0

我必須在可擴展列表視圖中長按組行時彈出警告對話框,並且它在我的BaseExpandableListAdapter類的onGroupView方法中實現時有效。但是在此之後展開摺疊功能不起作用。我認爲長時間點擊事件會首先獲取用戶交互,因此妨礙組視圖進行擴展。OnLongClick並展開 - 摺疊不能同時使用Expandable ListView

我對組的充氣視圖設置了onLongClickListener

但是,當我做與childs.It相同的作品完全正常,因爲可展開列表中的孩子沒有基本功能(如展開和摺疊)。

任何人都可以告訴我如何攔截兩個事件(長按+展開 - 摺疊)。

回答

0

您可以在您的expandablelistview上設置OnItemLongClickListener。 ExpandableListView.PACKED_POSITION_TYPE_GROUP是如果是一個組,將其更改爲 ExpandableListView.PACKED_POSITION_TYPE_CHILD,並且您可以在組子元素上使用longclicks進行操作。

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) { 
       Toast toast = Toast.makeText(c, "Loong", Toast.LENGTH_LONG); 
       toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0); 
       toast.show(); 

       return true; 
      } 

      return false; 
     } 
    });