gpt4 book ai didi

android - ArrayAdapter 库存过滤显示错误的元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:34 25 4
gpt4 key购买 nike

我已经为我的自定义类扩展了 ArrayAdapter。我的类重写 toString() 并返回我想用于搜索查询的字段。

这是我的过滤器代码:

productItemAdapter.getFilter().filter(filterText.toLowerCase());

这是我的 toString() 代码:

return name.toLowerCase();

过滤有效(返回了正确数量的元素),但它是错误的元素。它总是显示列表中的第一个元素,而不是与搜索匹配的元素...

最佳答案

我遇到了完全相同的问题,我会假设(像我一样)您在尝试实现此问题时没有阅读文档。

我将我的对象数组传递给 ArrayAdapter,然后将数组传递给 super 构造函数。

我犯的错误是:我存储了对传入数组的引用,并使用 that 数组在 getView() 方法中绘制项目:

 public SimpleAdapter( Context context, List< MyType > values )
{
super( context, R.layout.rowlayout, values );
this.context = context;
this.values = values;
}

@Override
public View getView( int position, View convertView, ViewGroup parent )
{
// ...
MyType myType = values.get( position );
// ...
}

应该做的是在 ArrayAdapter 类上调用 getItem(),例如

  MyType myType = getItem( position );

修复得很漂亮,事后看来是很明显的。

-(e)

关于android - ArrayAdapter 库存过滤显示错误的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13434133/

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