5

Estoy tratando de actualizar dinámicamente la lista de AutocompleteTextView con ArrayAdapter. Para actualizar esta Vista, uso un TextWatcher para monitorear cualquier cambio que pueda ocurrir en AutocompleteTextView.Dynamic AutocompleteTextView con ArrayAdapter y TextWatcher

El problema es que la lista no se actualiza en absoluto y no puedo entender por qué. He estado buscando algo así en internet y he encontrado dos enfoques diferentes, pero todavía no puedo entender por qué este, que debería ser el más simple, no funciona. Cualquier explicación sería muy apreciada.

Objetivo AVD: API de Google de nivel 10, Android 2.3.3

Aquí está el código simplificado:

public class AutocompleteActivity extends Activity implements TextWatcher { 
    ArrayAdapter<String> adapter = null; 
    AutoCompleteTextView acTextView = null; 
    ArrayList<String> addresses = new ArrayList<String>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.autocompleteview); 

     acTextView = (AutoCompleteTextView) findViewById(R.id.autocomplete_address); 
     adapter = new ArrayAdapter<String>(this, R.layout.listitem, addresses); 
     adapter.setNotifyOnChange(true); 
     acTextView.addTextChangedListener(this); 
     acTextView.setAdapter(adapter); 
    } 

    @Override 
    public void onTextChanged(CharSequence text, int start, int before, int after) { 
     try { 
      adapter.add("test"); 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
+0

nvm, funciona :-( – gioski

+0

¡Estoy haciendo algo similar AQUÍ !!! http://stackoverflow.com/questions/12854336/autocompletetextview-backed-by-cursorloader – toobsco42

Respuesta

3

En su código fuente, TextWatcher se suministra a la AutoCompleteTextView, este es el verdadero problema .

Si observa el código fuente AutoCompleteTextView, encontrará que AutoCompleteTextView tiene su propio TextWatcher, llamado "MyWatcher". Debido a esto, AutoCompleteTextView no puede responder a su acción de escritura.

Cuestiones relacionadas