2012-08-09 32 views
1

當在一個ExpandableListView的​​結束ExpandableListView的,我有:滾動到單擊最後一個項目

expLista.setOnGroupClickListener(new OnGroupClickListener() 
{ 

    @Override 
    public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) 
    { 
     // Pongo el valor de grupo clickeado correctamente 
     grupoCLickeado = groupPosition; 
     expLista.smoothScrollToPosition(groupPosition); 
    } 
} 

這工作單擊最後一組時,除了罰款。一旦我點擊最後一組,它會滾動到組視圖,但不會全部關閉。

是否可以更多地向下滾動到可展開列表視圖的末尾?

回答

2

嘗試寫此組件的android如下:transcriptMode =「alwaysScroll」

+1

感謝您的提示,它按預期工作,但它不是一個平滑滾動^^ – Darkendorf 2013-01-17 08:18:31

2

一般情況下你不需要滾動在ExpadableListView第一組。在ExpadableListView中設置第一組以外的transcriptMode。

getExpandableListView().setOnGroupExpandListener(new OnGroupExpandListener() { 

      @Override 
      public void onGroupExpand(int position) { 

       if(position == 0) { 
        getExpandableListView().setTranscriptMode(ExpandableListView.TRANSCRIPT_MODE_DISABLED); 
       }else{ 
        getExpandableListView().setTranscriptMode(ExpandableListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 
       }    
      } 
     }); 
1

試試這個

private void scrollToEnd() { 
    expLista.post(new Runnable() { 
     @Override 
     public void run() { 
      // Select the last row so it will scroll into view... 
      expLista.smoothScrollToPosition(getCount() - 1); 
     } 
    }); 
} 

private int getCount() { 
    int count = 0; 
    for (int i = 0; i < adapter.getGroupCount(); i++) { 
     for (int j = 0; j < adapter.getChildrenCount(i); j++) { 
      count++; 
     } 
     count++; 
    } 
    return count; 
} 
相關問題