Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.64
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
#1

SearchView или своя реализация поиска (UI) - Программирование Android

01.07.2013, 20:24. Просмотров 6131. Ответов 32
Метки нет (Все метки)

Требуется реализовать интерфейс для поиска. В ActionBar имеется SearchView, который отправляет запрос на сервер, после этого приходит ответ, который нужно отобразить в этой-же Activity и дать возможность выбрать нужный.

Основные проблемные моменты это:
-возможность вывести результат только в части экрана под строкой поиска
-закрывать поиск по клику вне зоны поиска и результатов

Пытался реализовать стандартным способом, но там приходится подключать базу данных, добавлять кучу непонятных фич.
Если выводить в обычном ListView, то нет возможности нормально отлавливать клики, попадает или нет в область списка.
PopupWindow не поддается нормальной разметке. Размеры можно указать только в цифрах с неизвестными величинами, в результате на разных экранах выглядит криво. При чем если параметр focusable = true, то блокируются посторонние элементы интерфейса, а если false то не обрабатывается клик по итемам.

Я в ступоре, нужна помощь. Пример моей реализации ниже, нужно что-то подобное
Миниатюры
SearchView или своя реализация поиска (UI)  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
02.07.2013, 15:53  [ТС]     SearchView или своя реализация поиска (UI) #21
Цитата Сообщение от V0v1k Посмотреть сообщение
каким может быть результат поиска если юзер ничего не ввел?
У меня есть несколько статических результатов, которые должны показываться до начала поиска.
Или второй вариант, когда хранится выбор пользователя от предыдущих запросов и их нужно отобразить до начала поиска
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 15:54     SearchView или своя реализация поиска (UI) #22
попробуйте поискать по выше приведенной ссылке.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
02.07.2013, 16:39  [ТС]     SearchView или своя реализация поиска (UI) #23
Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте поискать по выше приведенной ссылке.
К сожалению там нет ничего практически, связанного с результатами поиска

Добавлено через 30 минут
В Play Маркет такая функция реализована. Когда открывается поиск все старые запросы видны в списке внизу. Нужна такая же штуковина
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 22:58     SearchView или своя реализация поиска (UI) #24
посмотрите
Java
1
setOnQueryTextFocusChangeListener(View.OnFocusChangeListener listener);
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
02.07.2013, 23:08  [ТС]     SearchView или своя реализация поиска (UI) #25
Цитата Сообщение от V0v1k Посмотреть сообщение
посмотрите
Java
1
setOnQueryTextFocusChangeListener(View.OnFocusChangeListener listener);
Не совсем понимаю зачем мне может это пригодиться
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 23:12     SearchView или своя реализация поиска (UI) #26
чтобы выводить попап когда пользователь еще ничего не ввел.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
02.07.2013, 23:21  [ТС]     SearchView или своя реализация поиска (UI) #27
Цитата Сообщение от V0v1k Посмотреть сообщение
чтобы выводить попап когда пользователь еще ничего не ввел.
Это же Listener, какой от него толк, если я могу из него что-то получить, но ничего не могу установить, что бы появился список. Да ещё и в данном случае совершенно не понятно зачем именно его использовать. Он не дает мне ничего совершенно
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 23:32     SearchView или своя реализация поиска (UI) #28
накопал такое
выше вы приводили ссылку http://developer.android.com/guide/t...ggestions.html
так вот, в ней используется searchable, а в нем можно задать android:searchSuggestThreshold="0", где 0 это количество символов при которых появляется этот попап.
не знаю поможет ли это чем-то, просто делюсь тем, что накопал.

Добавлено через 10 минут
и в AutoCompleteTextView есть такая штука, а в SearchView почему-то нет.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
02.07.2013, 23:36  [ТС]     SearchView или своя реализация поиска (UI) #29
Цитата Сообщение от V0v1k Посмотреть сообщение
накопал такое
выше вы приводили ссылку http://developer.android.com/guide/t...ggestions.html
так вот, в ней используется searchable, а в нем можно задать android:searchSuggestThreshold="0", где 0 это количество символов при которых появляется этот попап.
не знаю поможет ли это чем-то, просто делюсь тем, что накопал.

Добавлено через 10 минут
и в AutoCompleteTextView есть такая штука, а в SearchView почему-то нет.
Не уверен, что смогу подключить searchable.xml к моему SearchView. У меня совершенно не такая реализация
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 23:37     SearchView или своя реализация поиска (UI) #30
еще накопал такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
_searchView.setOnQueryTextFocusChangeListener(new OnFocusChangeListener()
        {
        @Override
        public void onFocusChange(View v, boolean hasFocus)
            {
            if (!hasFocus)
                return;
 
            String query = _searchView.getQuery().toString();
            _searchView.setQuery(query, false);
            }
        });
попробуйте что он дает.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
02.07.2013, 23:45  [ТС]     SearchView или своя реализация поиска (UI) #31
Цитата Сообщение от V0v1k Посмотреть сообщение
Кликните здесь для просмотра всего текста
еще накопал такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
_searchView.setOnQueryTextFocusChangeListener(new OnFocusChangeListener()
        {
        @Override
        public void onFocusChange(View v, boolean hasFocus)
            {
            if (!hasFocus)
                return;
 
            String query = _searchView.getQuery().toString();
            _searchView.setQuery(query, false);
            }
        });


попробуйте что он дает.
вызывается когда я открываю или закрываю поиск, focus при этом соответственно true или false, а в query лежит текст из строки поиска
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 23:48     SearchView или своя реализация поиска (UI) #32
еще накопал
в SearchView есть метод setSearchableInfo(SearchableInfo searchable), а в SearchableInfo есть getSuggestThreshold()

Добавлено через 1 минуту
Цитата Сообщение от MonStar Посмотреть сообщение
вызывается когда я открываю или закрываю поиск, focus при этом соответственно true или false, а в query лежит текст из строки поиска
и это вам чем-то помогло?

Цитата Сообщение от V0v1k Посмотреть сообщение
еще накопал
в SearchView есть метод setSearchableInfo(SearchableInfo searchable), а в SearchableInfo есть getSuggestThreshold()
если это чем-то поможет - напишите плиз.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 00:09     SearchView или своя реализация поиска (UI)
Еще ссылки по теме:
Android Спрятать SearchView в некоторых фрагментах
Скрыть тулбар у 1 фрагмента Tabbed Activity + toolbar + Searchview Android
Как добавить динамически в ToolBar виджет SearchView в нужных фрагментах Android
Searchview закрыть поиск программно, также как закрывается кнопкой back Android
Android Как указать стандартным галере или фото путь поиска картинок

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
03.07.2013, 00:09  [ТС]     SearchView или своя реализация поиска (UI) #33
Ай. Ничего толком не помогло. Всё вроде бы рядом, близко, а реализация настолько нелогичная, что один элемент с другим не связать, сплошная магия. В итоге вернулся к первоначальной реализации, которая устраивает хоть и полностью, но не реализовывает даже часть потенциала SearchView
Yandex
Объявления
03.07.2013, 00:09     SearchView или своя реализация поиска (UI)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru