gpt4 book ai didi

android - AutoCompleteTextView 将选项限制为仅适用于为其设置的适配器中的选项,并且在列表可见之前不需要两个字符

转载 作者:搜寻专家 更新时间:2023-11-01 08:30:37 28 4
gpt4 key购买 nike

我想使用 AutoCompleteTextView 来提供一个选项列表,这样当用户点击它时,他们会得到完整的列表,但是当他们输入时,它会减少他们搜索特定的项目的数量项目。其次,它需要将条目限制为仅提供适配器中可用的选项。

为什么 AutoCompleteTextView 不这样做?因为您必须在列表出现之前输入两个字符,所以我希望这个列表在 TextView 获得焦点时可以滚动。

xml代码:

<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ems="10"
android:maxLines="1"
android:inputType="text" />

这是我目前所拥有的,它容易受到我上面描述的问题的影响。

java代码:

    List<String> typeList = new ArrayList<>();
for (int i = 0; i < items.size(); i++){
typeList.add(i, items.get(i).getName());
}
String[] descriptions = typeList.toArray(new String[0]);

final ArrayAdapter<String> autoCompleteAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, names);
final AutoCompleteTextView categoryInput = (AutoCompleteTextView) view.findViewById(R.id.autoCompleteCategory);

好的!设法找到一个解决方案,最后非常简单,将 OnFocusChangeListener() 添加到 AutoCompleteTextView ,然后如果 View 具有焦点,则执行 showDropDown()

这样一来,任何人只要点击它就会立即获得完整的列表,并且在他们键入时列表的大小会缩小。

最佳答案

As you written this : Because you have to type two characters in before the list even appears

如果我没有理解错,您正在寻找如何在键入两个或更多字符后设置列表。

你可以通过 xml android:completionThreshold="2" 设置它或者您可以通过编程方式设置,

使用setThreshold() .

public void setThreshold (int threshold)
Since: API Level 1
Specifies the minimum number of characters the user has to type in the edit box before the drop down list is shown.
When threshold is less than or equals 0, a threshold of 1 is applied.

关于android - AutoCompleteTextView 将选项限制为仅适用于为其设置的适配器中的选项,并且在列表可见之前不需要两个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41261637/

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