有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android autocompletetextview显示以前的输入

我得到了一个AutoCompleteTextView,但我希望它使用用户之前的输入,而不是我说要完成的一些字符串,所以问题是:我该如何做到这一点


共 (2) 个答案

  1. # 1 楼答案

    AutoCompleteTextView默认情况下,不建议使用此功能,但可以自己实现

    • 将每个用户输入存储在文件或数据库中(我建议使用数据库)
    • 检索这些输入并将适配器设置为AutoCompleteTextView

    使用Google doc中的预定义字符串数组设置Adpatter的示例:

    http://developer.android.com/reference/android/widget/AutoCompleteTextView.html

        public class CountriesActivity extends Activity {
           protected void onCreate(Bundle icicle) {
               super.onCreate(icicle);
               setContentView(R.layout.countries);
    
               ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                       android.R.layout.simple_dropdown_item_1line, COUNTRIES);
               AutoCompleteTextView textView = (AutoCompleteTextView)
                       findViewById(R.id.countries_list);
               textView.setAdapter(adapter);
           }
    
           private static final String[] COUNTRIES = new String[] {
               "Belgium", "France", "Italy", "Germany", "Spain"
           };
        }
    

    要像上面的例子一样使用固定数组COUNTRIES,请使用从数据库检索的字符串数组

  2. # 2 楼答案

    如果你想让你的AutoCompleteTextView显示基于某个字符串的建议,而不是从用户那里获取输入,那么只需调用:

    myAutoCompleteTextView.setText("cou", true);
    

    如果未显示下拉列表,请拨打:

    myAutoCompleteTextView.showDropDown();