この解決策は私には役に立ちます。
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)
を呼び出して、あなたが解決しようとしている正確な問題は何ですか? – Rockernaap
グリッドビューをスクロールすると、nestedscrollviewもスクロールしていますが、グリッドビューをスクロールしている間にスクロールしたり、スクロールしたりできません。 –
'scrollview.setNestedScrollingEnabled(boolean enabled)'を呼び出すことで 'nestedScrollView = scroll(NestedScrollView)findViewById(R.id.nestedScrollId);'を使用してnestedScrollViewを取得します。 – Rockernaap