Android - 使用非静态字段数创建LinearLayout(TextView)

时间:2015-04-09 20:17:31

标签: android listview android-listview android-linearlayout

我必须使用7个元素创建布局,其中每个元素都有可变数量的项目。这样的事情:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.lessons">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:orientation="vertical">
   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_weight="1"
       android:layout_margin="5dp"
       android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
       <ListView
            android:id="@+id/lessons_list_1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
   </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <ListView
            android:id="@+id/lessons_list_2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <ListView
            android:id="@+id/lessons_list_3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <ListView
            android:id="@+id/lessons_list_4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <ListView
            android:id="@+id/lessons_list_5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <ListView
            android:id="@+id/lessons_list_6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/lessons_text_7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <ListView
            android:id="@+id/lessons_list_7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</LinearLayout>

但是我不能把ListView放在ScrollView中。当我使用一个TextView创建LinearLayout并尝试克隆它时,仍然有一个元素。怎么做?

2 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法可能是使Listview包含两者:

void addFooterView(View v) 添加固定视图以显示在列表的底部。

void addHeaderView(View v) 添加固定视图以显示在列表顶部。

查看文档@ http://developer.android.com/reference/android/widget/ListView.html

答案 1 :(得分:0)

您忘记关闭标记 ScrollView 。但问题并不能解决这个问题。 为什么要使用这么多LinearLayouts?