我想创建一个包含childView的已检查状态的ArrayList或Map。但是,为了做到这一点,我需要为每个视图提供唯一的标识符。
我尝试了view.getId()但是对于列表中的每一行都返回了-1。 我尝试了childPosition,但在每个组中都会重复。
示例:
我唯一看到的是groupPosition和childPosition的组合,除非别人知道别的东西。那么有没有办法创建一个包含两个独立整数的可访问索引的Map或ArrayList?
或者组合childPosition和groupPosition以获取一个我可以用于每个childView的唯一标识符的方法?
答案 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>();
我担心没有什么魔法。