原创http://blog.youkuaiyun.com/chengmenghui_oop
转载请注明!
listView 嵌套 ListView 例子:
代码块
//son_listview_item >>>>>>>>>>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="第一课"
android:textSize="15dp"
android:layout_marginLeft="12dp"
android:layout_marginTop="12dp"/>
</LinearLayout>
-------------------------------------------------------------------
//perent_listview_item >>>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="#0066cc">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="第一章"
android:textColor="#232323"
android:textSize="15sp"
android:gravity="center_vertical"
android:layout_marginLeft="15dp"/>
</LinearLayout>
<ListView
android:id="@+id/sonListView_item"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
----------------------------------------------------------------
/**
*
* 获取子listView高度
* @param listView
*/
public static void setListViewHeight(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, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}