如何处理自动完成 Textview 项目选择?

How to handle Autocomplete Textview item selection?

我正在使用自动完成功能来显示数据库中的狗列表。

假设我有一个包含 3 个对象的 DogList:Dog1、Dog2、Dog3 和一个包含这些狗的每个名称的字符串数组 "dogNames"(我正在使用此数组获取自动完成适配器)。

当显示完整列表时选择了一个项目时,我可以通过使用自动完成选择索引从 DogList 获取它来处理选择了哪只狗,因为 "DogList" 和 "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 进行动态排序,使其遵循自动完成结果列表,并且每次我尝试使用自动完成索引从 DogList 中获取一条狗时,我都会得到正确的对象?

在你的 onItemClick 方法中使用这个

newDog = adapterView.getItemAtPosition(i);