現在、ボタンのクリック時に可視性「GONE」と「VISIBLE」を使用してリストビューを表示していますが、リストビューには1つのアイテムしか表示されず、スクロールビューには他の要素が表示されます(スクロールする必要があります)ので、最初に少なくとも3つのアイテムを表示し続けることにしましたリストビューのスクロールで残りの要素。これを解決する方法、事前に感謝します。
1番目の画像は、2番目の画像のように必要なコードです
ScrollView 内の ListView は、一般的に悪い考えです。
代わりに LinearLayout を使用し、そこで ListItems を膨らませる必要があります。難しくありません。forループなどを使用してください。ListView を使用する必要がある場合は、ListView にデータが入力された後に次のメソッドを呼び出すことができます。
( listAdapter.getCount() を表示したいセルの数に変更します
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}