1

adapter.getFilter().filter(s);こんにちは、フィルター検索を実装する方法を調べて調査しましたが、まだ機能しません。現在、ハッシュマップでlistadapterを使用してリストビューを表示しています。listadapter を使用して検索機能を実行するにはどうすればよいですか? 以下は私のコードです:

private ListAdapter adapter;
ArrayList<HashMap<String, String>> eventsList;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
      setContentView(R.layout.homepage);
      searchBar.addTextChangedListener(filterTextWatcher);

// HashMap for ListView
eventsList = new ArrayList<HashMap<String, String>>();
adapter = new SimpleAdapter(HomepageActivity.this, eventsList,
R.layout.list_event, new String[] { TAG_EID, TAG_ENAME, TAG_CNAME, TAG_CREATED_AT },
new int[] { R.id.eid, R.id.ename, R.id.cname, R.id.created_at });

// updating listView
setListAdapter(adapter);
}
private TextWatcher filterTextWatcher = new TextWatcher() { 

    public void afterTextChanged(Editable s) { 
    } 

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

    public void onTextChanged(CharSequence s, int start, int before, 
            int count) { 
        adapter.getFilter().filter(s);<--- THIS IS WHERE I GOT ERROR
    } 

}; 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    searchBar.removeTextChangedListener(filterTextWatcher); 
}
4

1 に答える 1

0

簡単な短い答えは、同じ問題に直面し、ヒントの参照があったため、拡張する必要はありませListActivityActity

メソッド setListAdapter(ArrayAdapter) はタイプ ReminderListActivity に対して未定義です

于 2012-12-21T17:39:20.560 に答える