可扩展列表查看和监听文本更改

时间:2014-11-19 23:13:24

标签: android expandablelistview expandablelistadapter

我构建了一个扩展ExpandableListViewAdapter的{​​{1}}。每组的孩子都由BaseExpandableListAdapter组成。 Aslo,我有一个EditText来保存孩子们的价值观。

问题在于,当我想使用ArrayList<String>“更改”文本后,我想听取文字更改,我的数据不会改变,它会回到原来的状态。

这是我的代码:

addTextChangedListener(watcher)

1 个答案:

答案 0 :(得分:0)

没关系:)我找到了一个解决方案......我只需要在getGroupId中调用它之前更新我的mIdMap hashmap ...如果有人需要它,这里是一个代码

@Override
public long getGroupId(int groupPosition) {
    if (groupPosition < 0 || groupPosition >= mIdMap.size()) {
        return INVALID_ID;
    }
    String item = mLocations.get(groupPosition);
    if(item == null){
        updatemIdMap(mLocations);
        item = mLocations.get(groupPosition);
        Log.d("Adapter-Inside","item = " + item);
    }
    Log.d("Adapter-Outside","item = " + item);
    if(mIdMap.get(item) == null){
        updatemIdMap(mLocations);
    }
    return mIdMap.get(item);
}

private void updatemIdMap(ArrayList<String> objects) {
    for (int i = 0; i < objects.size(); ++i) {
        mIdMap.put(objects.get(i), i);
    }

}