gpt4 book ai didi

java - 使用 customAdapter 后项目的错误位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:30 26 4
gpt4 key购买 nike

这是我用过的教程:http://www.tutorialsbuzz.com/2014/08/filter-custom-listviewbaseadapter.html

我为它实现了一个onItemClickListener

    OnItemClickListener myListViewClicked = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

String member_name = countrylist.get(position).getName();
// get Internet status
isInternetPresent = cd.isConnectingToInternet();

if (isInternetPresent) {
if (member_name.equals("aa")) {
Intent i = new Intent(Listview.this, Start.class);
startActivity(i);
displayInterstitial();
} else {
prName.show();
}
}
};
lv.setOnItemClickListener(myListViewClicked);


}

所以,让我们假设我的原始列表是

Aa
BB
Ca
DD

然后我在过滤器中输入“a”,然后列表变为

Aa
Ca

但是,当我单击 Ca 时,我会使用取决于每个列表项的 .equal 的进一步操作重定向到 BB。

我的列表和自定义适配器的代码与教程中的相同,但是我已经实现了 onclickitem 监听器,所以我想我在其中遗漏了一些东西。我尝试搜索并发现了几个相同的问题,但没有人回答,每个问题的 self 回答都与我的不同,我无法将其应用于我的 cusotm 适配器。

最佳答案

这主要是因为您正在直接访问数据集。

 String member_name = countrylist.get(position).getName();

在过滤过程中,您可能正在实例化新的 Collection,以覆盖您在 Activity 中使用的引用。

使用

String member_name = ((Country)parent.getItemAtPosition(position)).getName();

它会起作用。

parent.getItemAtPosition(position) 访问您的Adapter 中的底层数据集,前提是您的getItem 已正确实现

关于java - 使用 customAdapter 后项目的错误位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34315562/

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