如何直接在XML中为一个视图添加多个标签?

时间:2013-07-25 13:17:18

标签: android android-xml

正如问题所述,我只想在XML视图中添加多个标记。例如,假设我想设置一个字符串数组和一个与我的资源不同的字符串。我知道如何单独完成它们,但我想知道是否有一种方法可以直接在XML代码中将多个标记附加到视图中。

修改

我的计划是让一个LinearLayout(l#1)包含一个动态数量的不同LinearLayout(l#2),并且在该View中会有一个Spinner和一个EditText。我需要一个标签用于EditText的提示,另一个用于填充Spinner的字符串数组。在整个布局中,有多个l#1,每个使用l#2动态填充它,每个都需要根据它们的用途提供不同的提示和字符串数组。

我的下一个想法是添加一个整数作为标记来表示l#1,并在我的代码中使用一个Switch / Case块来填充l#2的子项,并使用正确的提示和字符串数组。

2 个答案:

答案 0 :(得分:3)

我不认为这在XML中是可能的,但在代码中你可以做的是创建一个自定义对象,它保存你需要的字符串并将其设置为标记。

class CustomTagObject {
    public List<Strings> strings;
    public String myString;
}

之后

CustomTagObject tagObj = new CustomTagObject();
tagObj.strings = new ArrayList<Strings>("String 1", "String 2");
tagObj.myString = "String from resources";
view.setTag(tagObj);

如果您解释为什么要将这些项目作为标记,我可以帮助您找到替代方法?

答案 1 :(得分:0)

以上解决方案有效,但使用错误(它将为您的管理键/值映射添加额外的开销)。

更好的实现方法是使用setTag的重载方法,它允许您指定与值关联的ID。

方法签名:

public void setTag(int key, Object tag)