在 xml 中使用 android:tag 参数?
Use of android:tag parameter in xml?
我看到一个 xml 布局,其中有一个 textView,如下所示
<TextView
android:id="@+id/tvHeaderTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Change password"
android:tag="@string/regular"
android:textAllCaps="true"
android:textColor="@color/header_color"
android:textSize="@dimen/font30" />
我想知道android:tag
属性是干什么用的。详细解答不胜感激。
注意 - 我读到它用于数据绑定,但无法遵循上下文。
更新 1 -(感谢 Blackbelt 的回答)
用法
1. 可用于 xml 元素与 activity 的编译时绑定。虽然android推荐使用id
。
2. 可用于识别列表适配器的元素。例如,支持多种排序的列表适配器的特殊情况。然后我们可以使用 tag
元素来标识所需的列表项。
我很高兴知道它是否也可以用于分配任何其他 属性?
I want to know what is android:tag property is used for
这是向视图对象本身添加关联附加信息的一种不同方式。在您的情况下,您的 tag
是 string
,但它也可以存储复杂的对象。例如,标签可以是一个模型 class 在运行时使用 setTag()
/getTag()
对设置和检索。使用此信息的方式取决于用户。 Android 也允许 findViewWithTag。在您的情况下,例如,您可以使用 findViewById(R.id. tvHeaderTitle);
或使用 findViewWithTag(getString(R.string. regular));
查找相同的对象。一个使用示例是 ListView
,当您有项目的按钮部分时,单击时您想知道数据集中的哪个项目与该行相关联。使用对 setTag
/getTag
这件事很容易实现
我看到一个 xml 布局,其中有一个 textView,如下所示
<TextView
android:id="@+id/tvHeaderTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Change password"
android:tag="@string/regular"
android:textAllCaps="true"
android:textColor="@color/header_color"
android:textSize="@dimen/font30" />
我想知道android:tag
属性是干什么用的。详细解答不胜感激。
注意 - 我读到它用于数据绑定,但无法遵循上下文。
更新 1 -(感谢 Blackbelt 的回答)
用法
1. 可用于 xml 元素与 activity 的编译时绑定。虽然android推荐使用id
。
2. 可用于识别列表适配器的元素。例如,支持多种排序的列表适配器的特殊情况。然后我们可以使用 tag
元素来标识所需的列表项。
我很高兴知道它是否也可以用于分配任何其他 属性?
I want to know what is android:tag property is used for
这是向视图对象本身添加关联附加信息的一种不同方式。在您的情况下,您的 tag
是 string
,但它也可以存储复杂的对象。例如,标签可以是一个模型 class 在运行时使用 setTag()
/getTag()
对设置和检索。使用此信息的方式取决于用户。 Android 也允许 findViewWithTag。在您的情况下,例如,您可以使用 findViewById(R.id. tvHeaderTitle);
或使用 findViewWithTag(getString(R.string. regular));
查找相同的对象。一个使用示例是 ListView
,当您有项目的按钮部分时,单击时您想知道数据集中的哪个项目与该行相关联。使用对 setTag
/getTag
这件事很容易实现