使用CursorTreeAdapter在ExpandableListView上使用'_id'

时间:2014-01-09 23:16:03

标签: android expandablelistview simplecursortreeadapter

_id的用法在我看来并不清楚。在onChildClick下方考虑所有可能的操作(onItemClickonExpandonCollapseExpandableListView等甚至图纸;

=A==============
   -B-----------
   -C-----------
=D==============
   -E-----------
   -B-----------    //Note: B is included in both groups

可以在以下关系中使用与_id相同的CursorTreeAdapter值:

  1. B with C(这是我知道的问题)
  2. A与D(这也是问题,我知道)
  3. A与B(这是我很困惑的事)
  4. E with C(这也让我感到困惑)
  5. E with B(可能有问题)
  6. C with D(好的,我猜)

1 个答案:

答案 0 :(得分:0)

对于任何给定的类别,_id必须是唯一的。换句话说,父母(团体)必须彼此具有唯一的_id,并且特定群体中的每个孩子应该彼此具有唯一的_id,但是如果有的话,则无关紧要与父母相同_id

使用您的示例,A组和A组D不应该具有相同的_id

在A组,儿童B& C不应该具有相同的_id,但如果其中一个与A组或D组具有相同的_id,则无关紧要。

在D组,儿童E& B不应该具有相同的_id,并且如果其中一个与A组或D组具有相同的_id,则这也无关紧要。

最后,两个组中的子B都可以(并且可能会)在两个实例中具有相同的_id

简而言之,CursorTreeAdapter要求群组有Cursor个,而每组子群需要多个Cursors。这些都不是直接相关的,每一个都是独立的。