我有一个包含许多行和列的 xml 表格布局。我已经为表格的每一列指定了一个特定的标签。
现在我想根据某些条件访问特定的列。如何让标签与字符串匹配,以便我可以访问该列?
比如我的xml代码是这样的
<TableLayout>
<TableRow
android:padding="10dp"
android:id="@+id/row1"
android:layout_height="wrap_content"
android:weightSum="100"
android:background="#ffffff"
android:layout_margin="1dp"
android:layout_weight="16.66">
<TextView
android:text="Day"
android:textStyle="bold"
android:clickable="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym1"
android:tag="1"
android:text="9:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym2"
android:tag="2"
android:text="10:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym3"
android:tag="3"
android:text="11:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym4"
android:tag="4"
android:text="12:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym5"
android:tag="5"
android:text="1:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym6"
android:tag="6"
android:text="2:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym7"
android:tag="7"
android:text="3:30" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="11.11"
android:id="@+id/tym8"
android:tag="8"
android:text="4:30" />
</TableRow>
</TableLayout>
如您所见,每一列都有一个标记。在我的代码中,当用户输入标签值时,我想访问与标签值匹配的列。
例如在java类中--
String test="4";
TextView column_var;
现在我想将 column_var 设置为 xml 中与测试字符串具有相同标记的 TextView 列。
如何实现?请帮忙!!!
您可以使用 findViewWithTag() 找到带有特定标签的 View
但是您应该改用 ID,因为:
It is generally preferable to use IDs (through the android:id attribute) instead of tags because they are faster and allow for compile-time type checking.
编辑:方法 findViewWithTag() 是 View 类的成员方法。你必须找到这样的父 View
View parentView = findViewById( R.id.row1 );
然后你可以找到你的textview
TextView column_var = parentView.findViewWithTag(test);
我是一名优秀的程序员,十分优秀!