Android:AutoCompleteTextView如何在没有文字输入时显示建议?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (62)

我正在使用AutoCompleteTextView,当用户点击它时,即使它没有文字,我也想显示建议 - 但它的setThreshold(0)作用完全相同setThreshold(1)- 所以用户必须输入至少1个字符才能显示建议。

提问于
用户回答回答于

这是记录的行为:“当阈值小于或等于0时,将应用1的阈值。”

你可以通过手动显示下拉菜单showDropDown(),所以也许您可以安排在需要时显示。或者,子类AutoCompleteTextView和重写enoughToFilter(),一直返回true

用户回答回答于

这是我的课 - 我称之为InstantAutoComplete。它介于AutoCompleteTextView和Spinner之间:

import android.content.Context;  
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.AutoCompleteTextView;

public class InstantAutoComplete extends AutoCompleteTextView {

    public InstantAutoComplete(Context context) {
        super(context);
    }

    public InstantAutoComplete(Context arg0, AttributeSet arg1) {
        super(arg0, arg1);
    }

    public InstantAutoComplete(Context arg0, AttributeSet arg1, int arg2) {
        super(arg0, arg1, arg2);
    }

    @Override
    public boolean enoughToFilter() {
        return true;
    }

    @Override
    protected void onFocusChanged(boolean focused, int direction,
            Rect previouslyFocusedRect) {
        super.onFocusChanged(focused, direction, previouslyFocusedRect);
        if (focused && getAdapter() != null) {
            performFiltering(getText(), 0);
        }
    }

}

像这样在你的xml中使用它:

<your.namespace.InstantAutoComplete ... />

扫码关注云+社区