Double child添加了可扩展列表视图

时间:2012-11-05 06:19:03

标签: android duplicates expandablelistview expandablelistadapter

我有添加孩子的问题,当我添加一个孩子然后在ui两个孩子出现相同的孩子位置..我的问题类似于以下问题中提到的

Child Layout is repeating many times in ExpandableListView

https://stackoverflow.com/questions/10938763/double-child-entries-in-expandablelistview

但无法找到解决方案..请参阅我的代码here

使用此双维数组给出了儿童的价值..

String[][] child = {
         mContext.getResources().getStringArray(R.array.alerts),
         mContext.getResources().getStringArray(R.array.alerts),
         mContext.getResources().getStringArray(R.array.alerts),
         mContext.getResources().getStringArray(R.array.alerts),
         mContext.getResources().getStringArray(R.array.alerts) };

我用过这个:

@Override
  public int getChildrenCount(int groupPosition) {
    return child.length;
  }

但是为此,子计数也是5,它显示了10个项目..

2 个答案:

答案 0 :(得分:6)

似乎你是一个硬编码的孩子位置,

  @Override
  public int getChildrenCount(int groupPosition) {
    return 1;
  }

应该是your_data_collection_size

此外,你有像硬编码的childId,

  @Override
  public long getChildId(int groupPosition, int childPosition) {
    return 0;
  }

应为childPosition而不是0

如果您还有任何疑问/问题,可以下载并查看我的demo example from you github,如果您有任何疑问,可以回复我。

答案 1 :(得分:6)

我遇到了完全相同的问题并且结果是因为我在OnGroupClickListener中的onGroupClick方法中返回false。这是一个解决方案:

@Override
public boolean onGroupClick(ExpandableListView parent, View v, int position, long id) {
    // ... do stuff //
    return true; // make sure you return true.
}