Android Auto Merge Two Listview In One Screen
My view look like:
Solution 1:
Try the below example: Layout :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="3" >
<ListView
android:id="@+id/list2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/face"
android:cacheColorHint="#00000000" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Header"
android:visibility="visible" />
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:cacheColorHint="#00000000" />
</LinearLayout>
</LinearLayout>
In your class
ListViewAdapter arrayAdapter = new ListViewAdapter(this, values);
listview.setAdapter(arrayAdapter);
ListViewAdapter arrayAdapter2 = new ListViewAdapter(this, values2);
listview2.setAdapter(arrayAdapter2);
Add these two lines in onCreate with your listview:
Utility.setListViewHeightBasedOnChildren(listview);
Utility.setListViewHeightBasedOnChildren(listview2);
Create a inner class in your Activity:
//Test scrollview custom
public static class Utility {
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);
}
}
Code taken from : listViewNotScrolling
It would definitely work! :)
Solution 2:
If you want to create Listview with Header. Then Use Section Header Listview.
Refer this Example.
Hope it will help you!!
OR
If its fix that Only Two Listview & one Header Between them
Then
1) Take Only one Listview.
2) Use Custom Adapter & Custom Layout for Listview Row.
3) Add Two Extra TextView in Custom Layout
Listing First ListView Data
- (Fixed TextView - Header -Put its Visibility VISIBLE)
- (Extra 1 TextView - Header -Put its Visibility GONE )
- (Extra 2 TextView - Header -Put its Visibility GONE )
Listing Second ListView Data
- (Fixed TextView - Header -Put its Visibility GONE )
- (Extra 1 TextView - Header -Put its Visibility VISIBLE )
- (Extra 2 TextView - Header -Put its Visibility VISIBLE )
Post a Comment for "Android Auto Merge Two Listview In One Screen"