大表,有很多单元格作为变量

时间:2018-11-04 22:34:49

标签: java android xml android-tablelayout

我正在为Android设备实现一个简单的预订系统。我需要一个包含表的活动,该表具有每周7天,从上午7点到晚上8点的小时,我希望能够向每个单元格添加一些文本。我的草稿如下所示: enter image description here

我的问题是我使用表格布局来做到这一点,并且导致了我的布局代码如下所示的情况:

<!--7:00-->
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TextView
            android:layout_column="0"
            android:layout_marginBottom="1dp"
            android:layout_marginRight="1dp"
            android:layout_marginTop="1dp"
            android:width="40sp"
            android:text="\n7:00"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textview_1_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="1"
            android:textAlignment="center" />

        <TextView
            android:id="@+id/textview_2_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="2"
            android:textAlignment="center"/>

        <TextView
            android:id="@+id/textview_3_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="3"
            android:textAlignment="center"/>

        <TextView
            android:id="@+id/textview_4_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="4"
            android:textAlignment="center"/>

        <TextView
            android:id="@+id/textview_5_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="5"
            android:textAlignment="center"/>

        <TextView
            android:id="@+id/textview_6_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="6"
            android:textAlignment="center"/>

        <TextView
            android:id="@+id/textview_7_1"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_column="7"
            android:textAlignment="center"/>
    </TableRow>

如您所见,要使用任何这些TextView,我都必须实现textview_1_1,textview_1_2等。 我确信必须有更优雅的方法来做到这一点。你们中的一些人可以帮我吗? 非常感谢!

1 个答案:

答案 0 :(得分:1)

此类问题的最佳实践是将列表视图与自定义项目(在本例中为edittext项目)一起使用 有关实现的信息,请参见this或仅查找“列表视图自定义项”

然后通过您的listview对象,您可以访问每个项目(getItem())并包含信息(在您的情况下为edittext> gettext()的值)