Вопрос по android, search – Как установить Адаптер в режим Автозаполнения текста?

6

Мне нужно, чтобы данные адаптера были настроены на автоматическое заполнение текста в Android.

Ваш Ответ

2   ответа
11

Создайте массив String или получите его из любой функции и создайте ArrayAdapter of String, а затем разрешите адаптеру установить список для вас.

 String[] array={"first","second item" ,"third item"};
 AutoCompleteTextView textView;

ArrayAdapter<String> adapter;

textView = (AutoCompleteTextView) findViewById(R.id.et_search);


adapter = new ArrayAdapter<String>(PlayListActivity.this,
                        android.R.layout.simple_list_item_1, array);

                textView.setAdapter(adapter);
5

Создать один проект дляAutoCompleteTextView и вставьте код в нужное место -

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
<TextView 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/hello"
   />
<AutoCompleteTextView android:id="@+id/myautocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
/>
</LinearLayout>

AutoCompleteTextview.java

public class AndroidAutoCompleteTextView extends Activity implements TextWatcher{

AutoCompleteTextView myAutoComplete;
String item[]={
  "January", "February", "March", "April",
  "May", "June", "July", "August",
  "September", "October", "November", "December"
};

   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);

   myAutoComplete = (AutoCompleteTextView)findViewById(R.id.myautocomplete);

   myAutoComplete.addTextChangedListener(this);
   myAutoComplete.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, item));

   }

@Override
public void afterTextChanged(Editable arg0) {
 // TODO Auto-generated method stub

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 // TODO Auto-generated method stub

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
 // TODO Auto-generated method stub

}
}

Просто используйте этот пример. И выясните, как они настраивают адаптер наAutoComplete TextView Надеюсь, это поможет вам.

Похожие вопросы