在Expandable List Android中获取视图的唯一标识符

时间:2014-10-17 11:23:07

标签: java android map expandablelistview

我想创建一个包含childView的已检查状态的ArrayList或Map。但是,为了做到这一点,我需要为每个视图提供唯一的标识符。

我尝试了view.getId()但是对于列表中的每一行都返回了-1。 我尝试了childPosition,但在每个组中都会重复。

示例:

  • A1 = 0
  • A2 = 1
  • B1 = 0

我唯一看到的是groupPosition和childPosition的组合,除非别人知道别的东西。那么有没有办法创建一个包含两个独立整数的可访问索引的Map或ArrayList?

或者组合childPosition和groupPosition以获取一个我可以用于每个childView的唯一标识符的方法?

2 个答案:

答案 0 :(得分:2)

也许你可以像这样使用静态方法View.generateViewId();
yourView.setId( View.generateViewId() );

并在ArrayList中将此ID同时放入。

答案 1 :(得分:1)

结合两个整数的方法吗?

String identifier = groupPosition + "-" + childPosition;
//which is the id of
HashMap<String, boolean> checkedElements = new HashMap<String, boolean>();

我担心没有什么魔法。