2012-04-30 26 views
6

私はアンドロイドスピナーのデータ表示の長いリストを持っています。だから私はこのスピナーに検索オプションを追加したいですか? (私はこれに関するいくつかの答えを見たが、それらは十分ではありません)Android Spinnerに検索オプションを追加するには?

私はアンドロイドに新しいです、そして、私は実際にこれが正しい方法ではないことを知っています。しかし私はスピナーにこの種のオプションを追加したい。検索ボックスで文字を押すと、その文字に関連するスピナーに項目のリストが表示されます。どうもありがとう。

ます。public void検索(ビュービュー){

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

リトルビット...もっとそれを説明すると、試みたあなたのコードを投稿自分で。 – Praveenkumar

+0

@ SpK私が試したコードは上にあります。ありがとう –

+0

今、その作業かどうか。 – Praveenkumar

答えて

1

使用TextWatcherしてからアダプタにnotifyDataSetChanged()を呼び出す:

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

    } 
}); 
関連する問題