2011-01-31 81 views
33

我正在使用GridView作爲遊戲板。最近有些用戶在垂直滾動時出現了問題(在運行2.2的三星Galaxy/Vibrant手機上) - 我的Nexus One上不會出現此錯誤。如何在Android中禁用GridView滾動?

一位用戶產生了一些screenshots的問題。

我該如何鎖定GridView?有沒有辦法禁用滾動?

回答

87

嘗試添加或覆蓋setOnTouchListenerGridView, 然後在onTouch方法,你可以使用這樣的代碼,以使 不gridview滾動:

gridview.setOnTouchListener(new OnTouchListener(){ 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return event.getAction() == MotionEvent.ACTION_MOVE; 
    } 

}); 
10

您可以嘗試setEnabled(false),雖然它可能有其他副作用。 GridView實際上並不意味着以您使用它的方式使用。您應該創建自己的自定義視圖或佈局。你也可以使用TableLayout。

+0

是的,我知道它應該是一個自定義視圖。將會更多地涉及到替換當前的GridView(早期設計錯誤)。希望能夠快速修復:) setEnabled()方法禁用所有功能。感謝Romain – pjama 2011-01-31 20:36:10

+1

羅曼蓋伊不想讓你在沒有滾動的情況下使用GridView。我使用這個http://stackoverflow.com/a/4536955/671543技巧。 – njzk2 2011-12-02 14:22:57