gpt4 book ai didi

android - ExpandableListView 搜索过滤器

转载 作者:行者123 更新时间:2023-11-30 01:57:26 25 4
gpt4 key购买 nike

我按照 Android ExpandableListView Search Filter Example 上的说明构造了一个可搜索的 ExpandableListView但是在使用 onChildClick() 时我很难选择正确的 child

目前我正在使用下面的代码来选择信息并将其发送到新的 Intent 。但是,当应用搜索过滤器时,将发送位于该位置的原始 child 的信息,而不是来自过滤列表的 child 的信息。

    myList.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {

Object a = continentList.get(groupPosition).getCountryList().get(childPosition).getCode();
Object b = continentList.get(groupPosition).getCountryList().get(childPosition).getName();
Object c = continentList.get(groupPosition).getCountryList().get(childPosition).getPopulation();

// Start new intent
Intent intent = new Intent(SearchActivity.this, DisplayCountry.class);
intent.putExtra("code", ""+ a);
intent.putExtra("name", "" + c);
intent.putExtra("population", "" + b);
startActivity(intent);

return true;
}
});

最佳答案

我假设点击监听器代码不在适配器类本身中,而是在 Activity 中?在这种情况下,问题是您正在访问错误的数据集。当想要从适配器中检索数据时,请始终通过适配器方法。例如:

mAdapter.getChild(groupPosition, childPosition).getCode();
mAdapter.getChild(groupPosition, childPosition).getName();
mAdapter.getChild(groupPosition, childPosition).getPopulation();

这适用于任何适配器。永远不要假设外部数据与内部适配器数据相同。

关于android - ExpandableListView 搜索过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32012661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com