Поисковая панель, реализующая плавающую строку поиска также известную как постоянный поиск.
Следующие основные классы являются обязательным интерфейсом:
Создайте класс, который реализует провайдера, например:
FloatingSearchView floatingSearchView = new FloatingSearchView(this, null, sColorSuggestions);
try {
String[] coloursArray = getElement().getStringArray();
List<String> coloursList = Arrays.asList(coloursArray);
coloursNameList = new ArrayList<>();
if (!coloursList.isEmpty()) {
for (String currentItem : coloursList) {
currentItem = currentItem.substring(currentItem.indexOf("+") + 1);
currentItem = currentItem.substring(0, currentItem.indexOf("+"));
coloursNameList.add(currentItem);
}
}
} catch (IOException | NotExistException | WrongTypeException e) {
LogUtil.error(TAG, "Произошло исключение - " + e.getMessage());
}
FloatingSearchView.init(SUGGESTION_COUNT, new FloatingSearchView.OnSuggestionClickListener() {
@Override
public void onSuggestionClick(String alert) {
int textLength = alert.length();
ArrayList<String> tempArrayList = new ArrayList<>();
for (String currentItem : coloursNameList) {
if (textLength <= coloursNameList.size()) {
if (currentItem.toLowerCase(Locale.getDefault()).contains(alert.toLowerCase(Locale.getDefault()))) {
tempArrayList.add(currentItem);
}
}
}
}
});
``````markdown
Компонент searchResultListContainerComp = rootContainer.findComponentById(
ResourceTable.Id_search_result_list);
if (searchResultListContainerComp instanceof ListContainer) {
ListContainer searchResultListContainer = (ListContainer) searchResultListContainerComp;
SearchResultsListAdapter listItemProvider = new SearchResultsListAdapter(getContext(),
tempArrayList);
searchResultListContainer.setItemProvider(listItemProvider);
}
}
});
Добавьте floatingsearchview
в вашу иерархию представлений, убедитесь, что он занимает всю ширину и высоту экрана.
Прослушивайте изменения запросов и предоставляйте элементы suggestions, реализующие SearchSuggestion
.
SearchResultsListAdapter
предоставляет основные элементы результатов поиска.# Инструкции по установке
floatingsearchview
в образце приложения, добавьте зависимости в entry/build.gradle
, как показано ниже:dependencies {
implementation project(path: ':library')
}
.har
, убедитесь, что вы добавили файл library.har
в папку entry/libs
.Измените зависимости в файле entry/build.gradle
.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
}
floatingsearchview
из удалённого репозитория в отдельном приложении, добавьте следующие зависимости:dependencies {
implementation 'io.openharmony.tpc.thirdlib:floatingsearchview:1.0.1'
}
Авторское право © 2015 Ari C.
Разрешено в соответствии с лицензией Apache, версия 2.0 ("Лицензия"); вы можете использовать этот файл только в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Если это требует применимого закона или было согласовано письменно, программное обеспечение, распространяемое в соответствии с Лицензией, распространяется на условиях "КАК ЕСТЬ". БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ВОЗМОЖНОСТИ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАННЫХ. Смотрите Лицензию для конкретного языка, регулирующего права и условия, применяемые к Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )