Höhe von ListView ermitteln

  • 0 Antworten
  • Neuester Beitrag
Diskutiere Höhe von ListView ermitteln im Android App Entwicklung im Bereich Betriebssysteme & Apps.
J

JoEntwickler

Fortgeschrittenes Mitglied
Hallo,

ich möchte eine ListView anzeigen. Die ListView soll so hoch sein wie der Inhalt damit der Content unter der ListView mit Scrollen noch zu sehen ist.
Das Problem dabei ist das ich es noch nicht hinbekommen habe eine Höhe zu ermitteln bevor die Items der ListView gerendert wurden.

Ich habe diese Methode hier, aber die liefert mir nicht die richtige Höhe der Items zurück.
Code:
    private boolean setListViewHeightBasedOnItems() {
        ListAdapter listAdapter = getAdapter();
        if (listAdapter != null) {
            int numberOfItems = listAdapter.getCount();
            // Get total height of all items.
            int totalItemsHeight = 0;
            for (int itemPos = 0; itemPos < numberOfItems; itemPos++) {
                View item = listAdapter.getView(itemPos, null, this);
                float px = 500 * (getResources().getDisplayMetrics().density);
                item.measure(View.MeasureSpec.makeMeasureSpec((int) px, View.MeasureSpec.AT_MOST), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
                totalItemsHeight += item.getMeasuredHeight();
            }
            // Get total height of all item dividers.
            int totalDividersHeight = getDividerHeight() *
                    (numberOfItems - 1);
            // Get padding
            int totalPadding = getPaddingTop() + getPaddingBottom();
            // Set list height.
            ViewGroup.LayoutParams params = getLayoutParams();
            params.height = totalItemsHeight + totalDividersHeight + totalPadding;
            setLayoutParams(params);
            requestLayout();
            //setDynamicHeight(listView);
            return true;
        } else {
            return false;
        }
    }
Kennt jemand eine Möglichkeit um das zuverlässiger hinzubekommen?

Liebe Grüße
 
Ähnliche Themen - Höhe von ListView ermitteln Antworten Datum
2