是否可以将隐藏数据添加到ExpandableListView的项目中? 例如,在HTML中我会做一些事情,比如创建一个新属性,然后使用JavaScript从所选项目中获取它。
<select>
<option hidden-data="298">Submenu 1</option>
</select>
现在,我只能从孩子那里得到文本,我需要为每个孩子传递一个ID,以便在数据库中搜索正确的信息。
类似的东西:
listDataHeader.add("Menu 1");
List<String> menu1 = new ArrayList<String>();
menu1.add("Submenu 1").addExtraData("ID = 23");
menu1.add("Submenu 2").addExtraData("ID = 24");
答案 0 :(得分:3)
我不知道隐藏的值,但您可以使用HashMap添加与列表相关的值。代码如下。你可以做那样的事情
HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
...
...
menu1.add("SubMenu1");
hashMap.put("Submenu1",23);
..
您可以检索&#34; SubMenu1&#34;的ID使用 -
int id=hashMap.get("Submenu1");
之后使用那个id。
答案 1 :(得分:0)
您可以使用其setTag(Object object)
方法将对象类型分配给任何视图。稍后,您可以使用View getTag()
方法获取此对象,并将其转换为所需类型。
如果您不想将数据存储在视图中,因为它与视图本身无关,而与数据无关,您可以使用android.util.Pair
(或{{1} })类,像这样:
android.support.v4.util.Pair