Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
MonStar
22 / 22 / 4
Регистрация: 10.04.2011
Сообщений: 241
#1

SearchView или своя реализация поиска (UI)

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

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

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

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

Я в ступоре, нужна помощь. Пример моей реализации ниже, нужно что-то подобное

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Миниатюры
SearchView или своя реализация поиска (UI)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2013, 20:24
Ответы с готовыми решениями:

Реализация поиска в ActionBar
Здравствуйте. Я пробую сделать поиск в ActionBar-е. Читал много статей, в итоге...

Реализация поиска в приложении
Есть страница на которой можно найти статью, но все статьи находятся на...

SearchView в ActionBar
Всем привет! Добавил в ActionBar фрагмента SearchView, но он не появляется,...

Searchview в toolbar
Доброго времени суток уважаемые форумчане. Нужна Ваша помощь в реализации...

SearchView ругается на Listener?
Добрый день! подскажите что ему не нравится: @Override public boolean...

32
MonStar
22 / 22 / 4
Регистрация: 10.04.2011
Сообщений: 241
02.07.2013, 15:53  [ТС] #21
Цитата Сообщение от V0v1k Посмотреть сообщение
каким может быть результат поиска если юзер ничего не ввел?
У меня есть несколько статических результатов, которые должны показываться до начала поиска.
Или второй вариант, когда хранится выбор пользователя от предыдущих запросов и их нужно отобразить до начала поиска
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 15:54 #22
попробуйте поискать по выше приведенной ссылке.
0
MonStar
22 / 22 / 4
Регистрация: 10.04.2011
Сообщений: 241
02.07.2013, 16:39  [ТС] #23
Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте поискать по выше приведенной ссылке.
К сожалению там нет ничего практически, связанного с результатами поиска

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

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

Добавлено через 10 минут
и в AutoCompleteTextView есть такая штука, а в SearchView почему-то нет.
Не уверен, что смогу подключить searchable.xml к моему SearchView. У меня совершенно не такая реализация
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 23:37 #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);
            }
        });
попробуйте что он дает.
0
MonStar
22 / 22 / 4
Регистрация: 10.04.2011
Сообщений: 241
02.07.2013, 23:45  [ТС] #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 лежит текст из строки поиска
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.07.2013, 23:48 #32
еще накопал
в SearchView есть метод setSearchableInfo(SearchableInfo searchable), а в SearchableInfo есть getSuggestThreshold()

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

Цитата Сообщение от V0v1k Посмотреть сообщение
еще накопал
в SearchView есть метод setSearchableInfo(SearchableInfo searchable), а в SearchableInfo есть getSuggestThreshold()
если это чем-то поможет - напишите плиз.
0
MonStar
22 / 22 / 4
Регистрация: 10.04.2011
Сообщений: 241
03.07.2013, 00:09  [ТС] #33
Ай. Ничего толком не помогло. Всё вроде бы рядом, близко, а реализация настолько нелогичная, что один элемент с другим не связать, сплошная магия. В итоге вернулся к первоначальной реализации, которая устраивает хоть и полностью, но не реализовывает даже часть потенциала SearchView
0
03.07.2013, 00:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 00:09

Отследить закрытие SearchView Android
Подскажите пожалуйста, как отследить закрытие SearchView, производится нажатием...

Передать SearchView из активити во фрагмент
У меня есть SearchView в активити и тесть фрагмент который запускается через...

Поиск в ListView с помощью SearchView
Прикручиваю SearchView, чтобы фильтровать ListView: MenuItem...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Опции темы

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