在 Android XML 中,我想在 android:tag 中添加多个值。我找到了一种可以使用多个来添加值的方法。
<TextView
android:id="@+id/myTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<tag android:id="@+id/value_one" android:value="@string/value_one"/>
<tag android:id="@+id/value_two" android:value="@string/value_two"/>
<tag android:id="@+id/value_three" android:value="@string/value_three"/>
</TextView>
但此方法仅适用于 API 级别 21 及以上。使用上述方法时,Android 出现以下错误。
tag is only used in API level 21 and higher (current min is 19)
在 API 级别 19 中,我们可以选择以编程方式设置标签。是否有其他选项可以在 XML 本身中添加多个字符串或对象?
最佳答案
在 android:tag=""中设置多个值的技巧并不在 android:tag=""中,因为您始终可以设置多个标签,如下所示: android:tag="TAG1:TAG2:TAG3"。诀窍在于查找并解析代码中的标签。当您检查特定标记是否存在时,请执行以下操作(根据需要调整并添加错误处理):
public static boolean isTagDefined(View view, String tag) {
boolean rc = false;
Object tags = view.getTag();
if (tags instanceof String) {
rc = ((String) tags).contains(tag);
}
return rc;
}
命名和分隔标签时要小心。如果您需要键/值对,请更改标记和解析技术 (StringTokenizer) 以处理类似“KEY1_VALUE:KEY2_VALUE”的内容。您还可以使用 JSON 对象,但我认为这太过分了,因为简单的控制/调试功能可能需要使用 View 标签。
关于android - 如何在android中添加多个值:tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44673557/