android - 如何在android中使用元素标签查找xml元素

标签 android android-layout

我有一个包含许多行和列的 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);

关于android - 如何在android中使用元素标签查找xml元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22540344/

相关文章:

android - 在 samsung duos 上通过 android 使用第二张 sim 卡发送短信

android - 如何访问默认帐户以及发送、接收和回复邮件消息

java - Android 开发 - 如何通过类传递 Drawables 和 Button?

android - 将基线与包装在 TextInputLayout 中的 TextView 对齐

Android:Facebook 登录:该应用程序未配置 Android key 哈希

android hellomap 示例给出异常

android - Android 中的绑定(bind)数据

android - 在 android 中拉取 ListView 时刷新适配器

android - 根据项目设置 ListView 高度可在 Android Nougat 设备的末尾提供额外的空间

java - RecyclerView未加载数据的原因