我使用自动填充功能显示数据库中的狗列表。
假设我有一个带有3个对象的DogList:Dog1,Dog2,Dog3和一个String数组" dogNames"这些狗的每个名字(我用这个数组获取自动完成适配器)。
当选择一个项目而显示完整列表时,我可以通过使用自动完成选择索引从DogList获取它来处理选择的狗,因为" DogList"和#34; dogNames"数组具有相同的大小:
Dog newDog = new Dog();
autoComplete_dogs.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
newDog = dogList.get(i);
}
问题是当我输入Dog3并单击它时,所选索引为0,这给出了Dog1而不是Dog3,因为Dog1在DogList中有索引0。
我应该如何对DogList进行dinamically排序,使其跟随自动完成结果列表,每次我尝试使用自动完成索引从DogList获取一只狗时,我得到正确的对象?
答案 0 :(得分:2)
在onItemClick方法中使用此
newDog = adapterView.getItemAtPosition(i);