反转 AutoCompleteTextView 建议顺序

Reverse AutoCompleteTextView suggestions order

我正在使用 AutoCompleteTextView 在键入时向用户建议项目。

因为textView下面没有space,所以显示的是textView上面的建议。很好,我想保持这种状态。

但是,最上面的建议仍然在建议列表的顶部,我想将其反转,使其更接近 textView。

有图让你更明白我的意思。

我想推翻建议,所以 "Item 1" 在底部等等

在实施 AutoCompleteTextSuggestion 时,我遵循了 this tutorial

这是我现在使用的代码:

int layoutItemId = android.R.layout.simple_dropdown_item_1line;
String[] arr = getResources().getStringArray(R.array.items);
ArrayAdapter<String> adpt = new ArrayAdapter<>(this,layoutItemId,arr);

AutoCompleteTextView autoCompleteView = (AutoCompleteTextView) findViewById(R.id.autoCompleteText);
autoCompleteView.setAdapter(adpt);

我将建议保留在 res/values/strings 中的字符串数组中。

任何帮助将不胜感激。谢谢!

也许您可以在创建适配器之前反转数据数组本身。

您可以使用 Collections.reverse(List<T>) 方法来实现。类似于下面的示例:

// Use the Collections.reverse() to reverse your list.
ArrayList<String> myList = new ArrayList<>(Arrays.asList(arr));
Collections.reverse(myList);
// Now, create the array back again from the ArrayList.
arr = myList.toArray(new String[0]);
// Create the adapter.
ArrayAdapter<String> adpt = new ArrayAdapter<>(this,layoutItemId,arr);

或者...因为您是从资源文件开始读取...您也可以以相反的顺序写入信息。