我目前正在制作一个Android应用程序,其中包含一些固定字符串数组的自动完成功能。
当用户按下自动完成文本视图时,我希望默认情况下打开一个带有“当前位置”选项的菜单(在用户开始输入之前),但我没有使用Google地方信息(如自动完成的值来自数组),那么我该怎么做呢?非常感谢你!
答案 0 :(得分:3)
您想要展示的是default suggestion
中的AutocompleteTextView
。
假设您有一个名为locationAutoComplete的AutocompleteTextView。 您可以通过
显示默认建议 locationAutoComplete.setText("current location");
但AutocompleteTextview
使用default suggestion
显示setText(String str)
时出现问题;方法直接。每当调用setText(String str)
方法时,它都会禁用AutocompleteTextView
。
为了防止它如下所示编写代码。
locationAutoComplete.postDelayed(new Runnable() {
@Override
public void run() {
locationAutoComplete.showDropDown();
}
},500);
locationAutoComplete.setText("current location");
locationAutoComplete.setSelection(locationAutoComplete.getText().length());
答案 1 :(得分:1)
如果您只使用一组固定的字符串,则可以使用AutoCompleteTextView:
String[] yourStrings; // However you get your strings
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, yourStrings);
AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.your_text_view);
textView.setAdapter(adapter);