2017-06-09 19 views
0

Androidアプリケーションを作成しようとしていますが、GridViewがNestedScrollView内にあります。問題は、gridviewがすべての要素を表示していないことです。grivView.butにスクロールを追加することでその問題を解決しました。私は時々nestedScrollViewの動きをスクロールし、時にはgridViewをスクロールするときに別の問題があります。 enter image description hereGridView in NestedScrollView

+0

を呼び出して、あなたが解決しようとしている正確な問題は何ですか? – Rockernaap

+0

グリッドビューをスクロールすると、nestedscrollviewもスクロールしていますが、グリッドビューをスクロールしている間にスクロールしたり、スクロールしたりできません。 –

+0

'scrollview.setNestedScrollingEnabled(boolean enabled)'を呼び出すことで 'nestedScrollView = scroll(NestedScrollView)findViewById(R.id.nestedScrollId);'を使用してnestedScrollViewを取得します。 – Rockernaap

答えて

0

この解決策は私には役に立ちます。

public void setGridViewHeightBasedOnChildren(GridView gridView, int columns) { 
     ListAdapter listAdapter = gridView.getAdapter(); 
     if (listAdapter == null) { 
      // pre-condition 
      return; 
     } 

     int totalHeight = 0; 
     int items = listAdapter.getCount(); 
     int rows = 0; 

     View listItem = listAdapter.getView(0, null, gridView); 
     listItem.measure(0, 0); 
     totalHeight = listItem.getMeasuredHeight(); 

     float x = 1; 
     if(items > columns){ 
      x = items/columns; 
      rows = (int) (x + 1); 
      totalHeight *= rows; 
     } 

     ViewGroup.LayoutParams params = gridView.getLayoutParams(); 
     params.height = totalHeight; 
     gridView.setLayoutParams(params); 

} 

あなたのGridViewのsetAdapterを呼び出した後、ちょうど

setGridViewHeightBasedOnChildren(your girdview object, no of grid view columns)

関連する問題