Search code examples
androidandroid-listviewandroid-scrollview

Android: Put 5 listviews in the same layout, ScrollView?


I have 5 listviews which I would like to put in the same layout. My idea was to use a scrollview but apparently this is not working very well.

How could i do this.

Thank you.

Here is my layout code:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_white" >


<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@null"
    android:src="@drawable/bg_mdpi" />


 <TextView
     android:id="@+id/SearchingForTextView"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginTop="5dp"
     android:text="Searching for: "
     android:textAppearance="?android:attr/textAppearanceSmall"
     android:textColor="#ff000000"
     android:visibility="visible" />


<TextView
    android:id="@+id/SearchingFor"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/SearchingForTextView"
    android:layout_marginTop="5dp"
    android:text="Word"
    android:textColor="#112ED4"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:visibility="visible" />

<TextView
    android:id="@+id/JournalsSearchTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/SearchingFor"
    android:layout_marginTop="10dp"
    android:background="#ff888888"
    android:gravity="center_horizontal"
    android:text="Journals"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ff000000"
    android:textStyle="bold" />


<ListView
    android:id="@+id/JournalSearchListView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/JournalsSearchTextView"
    android:layout_centerHorizontal="true"
    android:background="#D5DADE"
    android:cacheColorHint="#00000000">
</ListView>

 <TextView
    android:id="@+id/ArticlesSearchTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/JournalSearchListView"
    android:background="#ff888888"
    android:gravity="center_horizontal"
    android:text="Articles"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ff000000"
    android:textStyle="bold" />

 <ListView
    android:id="@+id/ArticlesIssuesSearchListView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/ArticlesSearchTextView"
    android:layout_centerHorizontal="true"
    android:background="#D5DADE"
    android:cacheColorHint="#00000000" >
</ListView>



<TextView
    android:id="@+id/AuthorsSearchTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/ArticlesIssuesSearchListView"
    android:background="#ff888888"
    android:gravity="center_horizontal"
    android:text="Authors"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ff000000"
    android:textStyle="bold" />



<ListView
    android:id="@+id/AuthorsSearchListView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/AuthorsSearchTextView"
    android:layout_centerHorizontal="true"
    android:background="#D5DADE"
    android:padding="1dp"
    android:cacheColorHint="#00000000">
</ListView>


<TextView
    android:id="@+id/SubmissionsSearchTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/AuthorsSearchListView"
    android:background="#ff888888"
    android:gravity="center_horizontal"
    android:text="Submissions"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ff000000"
    android:textStyle="bold" />

 <ListView
    android:id="@+id/SubmissionsSearchListView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/SubmissionsSearchTextView"
    android:layout_centerHorizontal="true"
    android:background="#D5DADE"
    android:cacheColorHint="#00000000">
</ListView>

  <TextView
    android:id="@+id/SpecialIssuesSearchTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/SubmissionsSearchListView"
    android:background="#ff888888"
    android:gravity="center_horizontal"
    android:text="Special Issues"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ff000000"
    android:textStyle="bold" />

 <ListView
    android:id="@+id/SpecialIssuesSearchListView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/SpecialIssuesSearchTextView"
    android:layout_centerHorizontal="true"
    android:background="#D5DADE"
    android:cacheColorHint="#00000000" >
</ListView>


Solution

  • I got what you want finally. You want to show the search result for 5 different categories.

    I suggest you can use a ExpandableListView for this. Android offer an ExpandableListView which look like the following structures:

    Group A       (v)
    -----------------
      Child A1
    -----------------
      Child A2
    -----------------
      Child A3
    -----------------
    Group B       (v)
    -----------------
      Child B1
    -----------------
      Child B2
    -----------------
      Child B3
    -----------------
    Group C       (v)
    -----------------
      Child C1
    -----------------
      Child C2
    -----------------
      Child C3
    

    The usage is quite similar to the ListView. What you have to do is to write an adapter which extends BaseExpandableListAdapter. You can also implements custom layout for the Group view/Child view.

    You may refer these pages:

    http://about-android.blogspot.com/2010/04/steps-to-implement-expandablelistview.html

    http://www.techienjoy.com/android-expandable-list-dynamically-created-example.php

    http://android-adda.blogspot.com/2011/06/custom-expandable-listview.html