【问题标题】:Android : SetDropDownViewResource incompatible with AutoCompleteTextView?Android:SetDropDownViewResource 与 AutoCompleteTextView 不兼容?
【发布时间】:2018-09-04 10:31:54
【问题描述】:

DropDownViewResource 应用于 Spinner 而不是 AutoCompleteTextView。

这行得通:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this.getActivity(), R.layout.spinner_item, usersHistory);
arrayAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);

Spinner userSpinner = dialogLayout.findViewById(R.id.country);
userSpinner.setAdapter(ArrayAdapter);

这不起作用:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this.getActivity(), R.layout.spinner_item, usersHistory);
arrayAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);

AutoCompleteTextView userAutoCompleteTextView = dialogLayout.findViewById(R.id.country);
userAutoCompleteTextView.setAdapter(ArrayAdapter);

有谁知道我如何为 AutoCompleteTextView 设置“自定义下拉布局”?

【问题讨论】:

  • @akshay 谢谢,但为什么在 Android 上我们总是要重新发明轮子……这是一个带有独特 TextView 的简单下拉列表。我们不能不使用自定义适配器吗?

标签: android drop-down-menu styles spinner autocompletetextview


【解决方案1】:

对于 AutoCompleteTextView,它是您传递给 ArrayAdapter 的构造函数的下拉视图 resourceId。

所以而不是:

new ArrayAdapter<>(this.getActivity(), R.layout.spinner_item, usersHistory);

应该是:

new ArrayAdapter<>(this.getActivity(), R.layout.spinner_dropdown_item, usersHistory);

(虽然我用android.R.layout.simple_spinner_dropdown_item。)

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 1970-01-01
    • 2020-10-27
    • 2013-03-14
    • 2016-07-09
    • 2020-10-31
    • 2019-04-30
    • 2012-04-29
    • 2021-10-04
    相关资源
    最近更新 更多