Android自动填充仅在两个字母后开始。如何在选择字段时显示列表?
答案 0 :(得分:24)
要在焦点上显示自动完成功能,请添加焦点侦听器,并在字段获得焦点时显示下拉列表,如下所示:
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if(hasFocus){
editText.showDropDown();
}
}
});
如果您不需要焦点部分,只需调用editText.showDropDown()。
答案 1 :(得分:9)
查看setThreshold方法:
public void setThreshold (int 阈值)
自:API级别1 指定最小数量 用户必须输入的字符 在下拉列表之前编辑框 所示。
当阈值小于或等于0时,应用阈值1。
答案 2 :(得分:9)
扩展AutoCompleteTextView,覆盖enoughToFilter()方法和阈值方法,使其不会用0阈值替换0阈值:
public class MyAutoCompleteTextView extends AutoCompleteTextView {
private int myThreshold;
public MyAutoCompleteTextView(Context context) {
super(context);
}
public MyAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyAutoCompleteTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setThreshold(int threshold) {
if (threshold < 0) {
threshold = 0;
}
myThreshold = threshold;
}
@Override
public boolean enoughToFilter() {
return getText().length() >= myThreshold;
}
@Override
public int getThreshold() {
return myThreshold;
}
}
答案 3 :(得分:1)
根据阈值设置,在左侧填充一个/两个白色字符适配器。
答案 4 :(得分:1)
对于想要使用SearchView更改阈值的人,您必须使用:
SearchView.SearchAutoComplete complete = (SearchView.SearchAutoComplete)search.findViewById(R.id.search_src_text);
complete.setThreshold(0);
答案 5 :(得分:0)
更改XML中设置的替代方法: 正如其他人所说,你需要设置你的Auto Completion Threshold&#39;到1
除了@systempuntoout提到的内容。
您也可以在XML文件中执行此操作,如图所示
<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edittext_id"
android:inputType="textAutoComplete"
android:completionThreshold="1"
/>
注意以下行: android:completionThreshold =&#34; 1&#34;