我正在为 Android 设备实现一个简单的预订系统。我需要一项 Activity ,其中包含每周 7 天、上午 7 点到晚上 8 点的工作时间的表格,并且我希望能够向每个单元格添加一些文本。我的草稿如下所示:
我的问题是我使用表格布局来执行此操作,并导致了这种情况,我的布局代码如下所示:
<!--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 等。 我确信一定有更优雅的方法来做到这一点。你们中的一些人可以帮助我吗? 非常感谢!
最佳答案
解决此类问题的最佳实践是使用带有自定义项目的 ListView (在本例中为编辑文本项目) 如需实现,请参阅 this或者只是查找“listview 自定义项目”
然后通过您的 ListView 对象,您可以访问每个项目(getItem())并包含信息(在您的情况下值为 edittext > gettext())
关于java - 有很多单元格作为变量的大表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146184/