自定义自动完成文本视图的建议列表

时间:2011-12-13 10:29:58

标签: android android-layout autocomplete customization

这是我的AutoCompleteTextView的代码:

    String[] countries = getResources().getStringArray(R.array.countries_array);
    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.item_list ,countries);
    textView = (AutoCompleteTextView) dialog.findViewById(R.id.autoCompleteTextView1);
    adapter.setNotifyOnChange(true);
          textView.setAdapter(adapter);

这是item_list:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000"
 android:drawableRight="@drawable/arrow">

这是输出:

enter image description here

我想更改此弹出式建议框,并希望在AutoCompleteTextView中显示以下建议列表..与此类似:(请忽略苹果设计,它只是结果出现的位置) )

enter image description here

我怎么能这样做..请建议。 谢谢!

3 个答案:

答案 0 :(得分:13)

使用布局中android:dropDownAnchor上的android:dropDownHorizontalOffsetandroid:dropDownVerticalOffsetAutoCompleteTextView和其他人。请参阅AutocompleteTextView

答案 1 :(得分:9)

我在AutoCompleteTextView下面使用了ListView。我将自定义适配器添加到ListView和AutoCompleteTextView。我将AutoCompleteTextView下拉列表的高度和宽度设置为0:

myListView.setAdapter(myCustomAdapter);
myAutoComplete.setAdapter(myCustomAdapter);
myAutoComplete.setDropDownHeight(0);
myAutoComplete.setDropDownWidth(0);

由于列表视图也附加到同一个适配器,因此在更新自动完成时会更新。

答案 2 :(得分:0)

你需要QSB(快速搜索框)。 请参阅此http://developer.android.com/resources/articles/qsb.html

需要ContentProvider来填充QSB数据。