Comment obtenir la hauteur de listview dans android?

J'ai besoin de trouver la hauteur de android ListView avec personnalisé ListVAdapter. Chacun des éléments ListView peut être de hauteur variable. J'ai essayé le code suivant que j'ai trouvé ici:

public static void setListViewHeightBasedOnChildren(ListView listView) {

        ListAdapter listAdapter = listView.getAdapter(); 
        if (listAdapter == null) {
            return;
        }

        int totalHeight = 0;
        for (int i = 0; i < listAdapter.getCount(); i++) {
            View listItem = listAdapter.getView(i, null, listView);
            listItem.measure(0, MeasureSpec.UNSPECIFIED);
            totalHeight += listItem.getMeasuredHeight();
        }

        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
        listView.setLayoutParams(params);
        listView.requestLayout();
    } 

Mais il n'en donne pas la hauteur réelle; il donne même hauteur pour tous les éléments de la liste. Est-il possible de trouver ListView hauteur avec les éléments de la liste de hauteur variable?

source d'informationauteur althaf_tvm