こんにちは皆、動的な高さをリストビューに設定するのに助けが必要です。動的な高さをリストビューに設定する方法
私のタスクでは、スクロールビュー内にリストビューを表示するので、リストビューに動的な高さを設定して、スクロールビューで作業を完了できるようにする必要があります。
私はhow to change the height of the ListView dynamically in andrtoidから以下のコードを使用しています。 このコードはうまくいきますが、問題はこのコードではリストの表示にdubleの高さを作ることです。唯一3項目リストビューで、それがリストビューの高さが6項目に等しいが作る場合
は考えます。
私はそれを解決する方法を知りたいです。
ここに私のコードです。
リストビューの活動のようにそれを使用してpublic class Utility {
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
int desiredWidth = View.MeasureSpec.makeMeasureSpec(listView.getWidth(), View.MeasureSpec.AT_MOST);
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}
}
とIM:
SimpleAdapter simpleadapter = new SimpleAdapter(getApplicationContext(), alist, R.layout.fragmentsrow, getItems, setItems);
ListViewWelcomePage.setAdapter(simpleadapter);
Utility.setListViewHeightBasedOnChildren(ListViewWelcomePage);
まず、listviewを使用している場合は、Scrollviewを削除してください。デフォルトでは、リストに追加のデータがある場合はスクロールします。 – Tara
私はスクロールビューが必要です。スクロールビューを削除できません。スクロールビューを使用して表示する必要があるリストビューの下に別のアイテムがあるからです。 – sunny
スクロールビューでリストビューを入れ子にする代わりにリストビューでフッターまたはヘッダーを使用します。何か[これ](http://stackoverflow.com/questions/4265228/how-to-add-a-footer-in-listview) – MrOnyszko