使用数组数组填充表

时间:2015-03-20 05:35:21

标签: android listview android-tablelayout populate

我想设置一个具有固定数量的列和一个X行的表,其中第一行列出了每列的内容。例如,一列将是' Name'并且第二列将是' Age'然后将有X行存储数据的行。有没有办法可以在其他地方为这些数据设置数组,并使用这些数据自动创建/填充表的行。我之前使用自定义适配器的一个更简单的示例完成了此操作但我不太确定如何使用涉及的表来解决这个问题。我很困惑,任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:2)

我认为在表格布局中创建如下表格

<TableLayout
---
>
<TableRow
--
>
<Textview
for name
/>
<Textview
...for age
/>

</TableRow>
<TableRow
--
>
<Listview
for name
/>
<Listview
...for age
/>

</TableRow>

</TableLayout>

并使用带有固定数据的简单arrayadapter填充listview。

这很简单,如果您只在列表视图中有文字视图,则可以使用

ArrayAdapter ad=new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item1,namearray); list1.setAdapter(ad);

ArrayAdapter ad=new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item1,agearray); list2.setAdapter(ad);

答案 1 :(得分:1)

ListView基本上充当任何数据表中的一行。您应该创建一个包含要在一行中显示的所有属性的POJO。您可以创建为数据创建自定义xml布局,该布局可能是与您的列对应的水平LinearLayout

POJO

public class MyData {
    public String Name;
    public int Age;
    // More data here
}

ListView项目布局(layout_list_item.xml)

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/Name"
            android:layout_height="wrap_content"
            android:layout_width="0dip"
            android:layout_weight="0.7" />

        <TextView
            android:id="@+id/Age"
            android:layout_height="wrap_content"
            android:layout_width="0dip"
            android:layout_weight="0.3" />

    </LinearLayout>

主要布局

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:layout_height="wrap_content"
                android:layout_width="0dip"
                android:layout_weight="0.7"
                android:text="Name" />

            <TextView
                android:layout_height="wrap_content"
                android:layout_width="0dip"
                android:layout_weight="0.3"
                android:text="Age" />

        </LinearLayout>

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

     </LinearLayout>

然后,您需要一个自定义适配器,它使用POJO中的值设置列表视图中的字段。互联网上有很多教程。