不独立滚动的Android多个列表视图(Android multiple list views th

2019-06-24 08:15发布

我想创建一个具有3只列出了3头一个页面,但我不想独立滚动他们,我想整个页面滚动。 有谁知道我能做到这一点?

基本上我希望它看起来是这样的:

header
smlheader
list
smlheader
list
smlheader
list

有了这个代码,我试图去实现它,但它并不好。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

<TableLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white">

   <include layout="@layout/header" />
   <include layout="@layout/redcell" />

   <TableRow

       android:id="@+id/tableRow1"
       android:layout_width="wrap_content"
       android:layout_height="60dp" >


      <TextView

        android:id="@+id/fixtures_text"
        android:layout_width="match_parent"
        android:layout_height="60dp"

        android:gravity="center"
        android:text="@string/leagues"
        android:textColor="@color/white"
        android:textSize="25dp"
        android:textStyle="bold"/>




   </TableRow>

   <include layout="@layout/redcell" />

   <TableRow
       android:id="@+id/tableRow2"
       android:layout_width="wrap_content"
       android:layout_height="60dp" >


      <TextView

        android:id="@+id/results_text"
        android:layout_width="match_parent"
        android:layout_height="60dp"

        android:gravity="center"
        android:text="@string/leagues"
        android:textColor="@color/white"
        android:textSize="25dp"
        android:textStyle="bold"/>

   </TableRow>

    <include layout="@layout/redcell" />


    <ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   />

</TableLayout>
<ScrollView/>

Answer 1:

我会尝试CommonsWare MergeAdapter由拉杰什指向。 这听起来像你需要什么。

这将需要多个视图(包括列表视图),并把它们放在一起,然后设置合并适配器列表视图和急,你有几个列表视图中的一个。

从文档吧引用:

MergeAdapter接受适配器和视图的组合和呈现它们作为一个整体连续到任何的ListView它倒入。 这是很好的,如果有多个数据源,或者如果你有普通浏览了一把与数据列表等混合的情况下。

只需创建一个MergeAdapter并调用addAdapter(),addView(),或addViews()(后者接受列表),然后附上您的适配器到ListView。

编辑

1)从下载的.jar 这里
2)下载的.jar为CWAC SackOfViewsAdapter作为MergeAdapter需要它。
2)在项目中创建名为“库”(在同一水平上的SRC和资源目录)
3)将两个.jar文件的文件夹中(Eclipse应该会自动采取从那里尽可能东西设置它被包含在build)
4)按使用说明的MergeAdapter从第一个链接在我原来的响应。

伪代码示例:

myMergeAdapter = new MergeAdapter();
myMergeAdapter.addView(HeaderView);
myMergeAdapter.addView(SmallHeaderView1);
myMergeAdapter.addAdapter(listAdapter1);
myMergeAdapter.addView(SmallHeaderView2);
myMergeAdapter.addAdapter(listAdapter2);
myMergeAdapter.addView(SmallHeaderView3);
myMergeAdapter.addAdapter(listAdapter3);

setListAdapter(myMergeAdapter);

编辑2

添加你的头是一个完整的布局:

View Header = getLayoutInflater.inflate(R.layout.red_cell);
myMergeAdapter.addView(Header);


文章来源: Android multiple list views that don't scroll independently