我有5个列表视图,我想放在同一个布局中。 我的想法是使用scrollview,但显然这不是很好。
我怎么能这样做。
谢谢。
这是我的布局代码:
<?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>
答案 0 :(得分:1)
我最后得到了你想要的东西。您想要显示5个不同类别的搜索结果。
我建议你可以使用ExpandableListView。 Android提供了一个ExpandableListView,它看起来像以下结构:
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
用法与ListView非常相似。你要做的是编写一个扩展BaseExpandableListAdapter的适配器。 您还可以为组视图/子视图实现自定义布局。
您可以参考以下页面:
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
答案 1 :(得分:0)
如果你不需要你的ListView
可滚动,正如你在评论中提到的那样,列表最多包含~10个项目,我会考虑使用LinearLayout
而不是ListView
,并将所有5 LinearLayout
放入一个大的ScrollView
。
编辑:代码示例:
布局:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:isScrollContainer="true"
android:orientation="vertical"
android:scrollbars="vertical" >
<LinearLayout
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</ScrollView>
代码:
LinearLayout list = (LinearLayout) findViewById(R.id.list);
for (String s : arrayList1) {
TextView tv = new TextView(this);
tv.setText(s);
list.addView(s);
}
for (String s : arrayList2) {
TextView tv = new TextView(this);
tv.setText(s);
list.addView(s);
}