0

ここに画像の説明を入力現在、ボタンのクリック時に可視性「GONE」と「VISIBLE」を使用してリストビューを表示していますが、リストビューには1つのアイテムしか表示されず、スクロールビューには他の要素が表示されます(スクロールする必要があります)ので、最初に少なくとも3つのアイテムを表示し続けることにしましたリストビューのスクロールで残りの要素。これを解決する方法、事前に感謝します。

1番目の画像は、2番目の画像のように必要なコードです

4

1 に答える 1

4

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);
    }
于 2013-08-21T08:24:05.223 に答える