2012-02-21 52 views
0

我正在研究使用可擴展listview作爲其父級的應用程序,並且在每個子視圖中都有一個基於數據庫信息動態加載的水平滾動視圖。確定何時爲horizo​​ntalscrollview放置箭頭的代碼

HSV中的所有按鈕都是使用非常類似於lazy loading in listview的實現動態添加的複合圖像。我能夠add arrows我的HSV,但現在我想進一步,只有當有足夠的物品來填補空間時,只顯示箭頭,如果只有一個項目顯示,則不應顯示箭頭。

由於列表從頭開始,我可以默認隱藏「後退」箭頭,但我不確定在哪裏測試是否顯示「前進」箭頭。

 public Object getGroup(int groupPosition) { 
     Object o; 
     o = groups.get(groupPosition).getName(); 

     if(relativeLayout != null && horizontalScrollView != null && forward != null) { 
      if(horizontalScrollView.getWidth() < relativeLayout.getWidth()) { 
       forward.setVisibility(View.VISIBLE); 
      } else { 
       forward.setVisibility(View.INVISIBLE); 
      } 
     } 

     // } 
     return o; 
    } 

本來我用這個測試中getChildView,其中Horizo​​ntalScrollView被填充,但它太很快發生了,機器人的HSV和RelativeLayout的顯示爲零的寬度。

現在我正在測試它在getGroup中,因爲在childview開始加載後多次調用它,但我認爲這隻適用於我的可擴展列表中有很多組。如果我有一個組,我仍然會遇到同樣的問題。

是否有一個理想的地方來檢查子佈局是否比horizo​​ntalscrollview大?

更新:我設置了一個計時器,每1000毫秒檢查一次,看看轉發是否應該變爲可見,然後退出。它不漂亮,但它沒有崩潰的應用程序,所以我很高興。對不起的問題!

回答

0

我檢查通過onTouch事件滾動位置:

horizontalScrollView.setOnTouchListener(actualScrollViewTouch); 
相關問題