2012-04-30 17 views
6

Mam długą listę wyświetlania danych w spinneru android. Czy chcę dodać opcję wyszukiwania do tego pokrętła? Czy ktoś może mi pomóc z prostym przykładowy kod ... (widziałem kilka odpowiedzi na ten temat, ale nie są one wystarczające) ..Jak dodać opcję wyszukiwania do urządzenia Android Spinner?

Jestem nowy na Androida i wiem, że to nie jest poprawny sposób. ale chcę dodać tę opcję do spinnera. Po naciśnięciu litery w polu wyszukiwania, lista przedmiotów jest wyświetlana w pokrętle odpowiednim dla tej litery. Wielkie dzięki.

public void wyszukiwania (Widok) {

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

Trochę wyjaśnić więcej .. A pisać kod, który został osądzony samemu. – Praveenkumar

+0

@SpK kod próbowałem jest powyżej .. thanks –

+0

Teraz działa lub nie. – Praveenkumar

Odpowiedz

1

Zastosowanie TextWatcher a następnie zadzwonić notifyDataSetChanged() na adapterze:

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(); 

    } 
}); 
Powiązane problemy