Pau*_*aul 4 android listview android-adapter
我为我的自定义类扩展了ArrayAdapter.我的类覆盖toString()并返回我想用于搜索查询的字段.
这是我的过滤器代码:
productItemAdapter.getFilter().filter(filterText.toLowerCase());
这是我的toString()代码:
return name.toLowerCase();
过滤正在运行(返回正确数量的元素),但这是错误的元素.它始终显示列表中的第一个元素,而不是与搜索匹配的元素...
swe*_*mre 10
我有完全相同的问题,我会假设(像我一样)你在尝试实现这个时没有阅读文档.
我将我的对象数组传递给ArrayAdapter,然后将数组传递给超级构造函数.
我犯的错误是:我存储了对传入数组的引用,并使用该数组绘制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 );
// ...
}
Run Code Online (Sandbox Code Playgroud)
我应该做的是getItem()在ArrayAdapter类上调用,例如
MyType myType = getItem( position );
Run Code Online (Sandbox Code Playgroud)
哪个修好了,事后才很明显.
- (E)
| 归档时间: |
|
| 查看次数: |
1010 次 |
| 最近记录: |