2012-04-30 20 views
6

Tengo una larga lista de visualización de datos en Android spinner. Entonces, ¿quiero agregar una opción de búsqueda a este spinner? ¿Alguien me puede ayudar con un código de ejemplo simple ... (Vi algunas respuestas con respecto a esto, pero no son suficientes) ..¿Cómo agregar la opción de búsqueda a Android Spinner?

Soy nuevo en Android y sé que esta no es la forma correcta. pero quiero agregar este tipo de opción a la ruleta. Cuando tocas una letra en el cuadro de búsqueda, la lista de elementos se muestra en el marcador relevante para esa letra. Muchas gracias.

pública de búsqueda vacío (Ver vista) {

cursor = db.rawQuery("SELECT * FROM tblRepTeritories WHERE RepCode like?", 
     new String[]{"%" + searchText.getText().toString() + "%"}); 


    SimpleCursorAdapter adapter1 = new SimpleCursorAdapter(
      this, 
      android.R.layout.simple_spinner_item, 
      cursor, 
      new String[] {"TeriCode"}, 
      new int[] {android.R.id.text1}); 

adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
// get reference to our spinner 
Spinner s1 = (Spinner) findViewById(R.id.spinner2); 

s1.setAdapter(adapter1); 


} 
+0

Un poco explicarlo más .. Y, publicar su código que se intentó por tí mismo. – Praveenkumar

+0

@SpK el código que probé está arriba ... gracias –

+0

Ahora, está funcionando o no. – Praveenkumar

Respuesta

1

Uso TextWatcher y luego llamar notifyDataSetChanged() en su adaptador:

searchText.addTextChangedListener(new TextWatcher() { 

    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 

    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

    } 

    @Override 
    public void afterTextChanged(Editable s) { 
     cursor = db.rawQuery("SELECT * FROM tblRepTeritories WHERE RepCode like?", 
      new String[] {"%" + searchText.getText().toString() + "%"}); 
     adapter1.notifyDataSetChanged(); 

    } 
}); 
Cuestiones relacionadas