быстрый поиск в приложении в Android? - PullRequest
0 голосов
/ 04 июля 2011

У меня приложение уже работает нормально. Мне нужно реализовать функцию быстрого поиска к нему. Быстрый поиск, я имею в виду, что пользователи вводят каждый отдельный символ, который я хочу получить. Мое действие - это действие в виде списка, для которого данные поступают из запроса к базе данных. Допустим, в представлении списка содержится 50 элементов, и когда пользователь выполняет поиск по слову «test», я хочу выполнить запрос к базе данных, отфильтровать элементы и отобразить их в том же виде списка. Что-то вроде поиска контактов в андроиде. Пожалуйста, дайте мне знать, как это реализовать. Быстрый образец поможет полностью. Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2012

Я реализовал эту функцию в одном из моих предыдущих приложений.Весь код слишком длинный для вставки.Итак, я опубликовал некоторые его части.Вы можете прочитать немного о подходе, использованном мной, и сделать это для вашего приложения.

EditText filterText;

words = new MySimpleCursorAdapter(Main.this, R.layout.emptylist, temp, from, to);

        filterText= (EditText) findViewById(R.id.search_box);
        filterText.addTextChangedListener(filterTextWatcher);


        words.setFilterQueryProvider(new FilterQueryProvider() {
            @Override
            public Cursor runQuery(CharSequence constraint) {
                Cursor cur=mDbHelper.fetchSugNotes(filterText.getText().toString());
                return cur;
            }
        });


private TextWatcher filterTextWatcher = new TextWatcher() {

    public void afterTextChanged(android.text.Editable s) {

    };

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

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        words.getFilter().filter(s.toString());
    };
};
0 голосов
/ 04 июля 2011
...