在ListView中搜索

时间:2014-05-14 12:33:43

标签: android listview search android-edittext

我有一个我正在开发的应用程序的搜索功能,我实现了一个滑动菜单。在滑动菜单右视图中,有一个编辑文本搜索框,但由于我的应用程序是一个离线应用程序,我想使用适配器而不是数据库搜索列表视图,我已经实现了我的代码但是当我运行它时,没有任何反应,logcat也没有给我任何错误,有人请帮我查看我的代码,看看我是否有任何错误。

    public class SearchActivity extends Activity {

private ListView lv;
ArrayAdapter<String> adapter;
EditText inputSearch;
ArrayList<String> testArrayList;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_menu_right);



    String [] testArray = getResources().getStringArray(R.array.allArrays);
    testArrayList = new ArrayList<String>(Arrays.asList(testArray));

    lv = (ListView) findViewById(R.id.listViewMenuRight);
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, testArrayList);
    lv.setAdapter(adapter);

    inputSearch = (EditText) findViewById(R.id.editTextSearch);
    inputSearch.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            // When user changed the Text
            SearchActivity.this.adapter.getFilter().filter(cs);   
        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub                          
        }
    });

}

}

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

尝试使用

adapter.getFilter().filter(cs);

而不是

SearchActivity.this.adapter.getFilter().filter(cs);