正如问题所述,我只想在XML视图中添加多个标记。例如,假设我想设置一个字符串数组和一个与我的资源不同的字符串。我知道如何单独完成它们,但我想知道是否有一种方法可以直接在XML代码中将多个标记附加到视图中。
修改
我的计划是让一个LinearLayout(l#1)包含一个动态数量的不同LinearLayout(l#2),并且在该View中会有一个Spinner和一个EditText。我需要一个标签用于EditText的提示,另一个用于填充Spinner的字符串数组。在整个布局中,有多个l#1,每个使用l#2动态填充它,每个都需要根据它们的用途提供不同的提示和字符串数组。
我的下一个想法是添加一个整数作为标记来表示l#1,并在我的代码中使用一个Switch / Case块来填充l#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)