Я работаю над Внедрение Custom search
в Android
App-bar. Таким образом, я добавил следующий код в menu_main.xml
Пользовательский поиск в Android?
<item android:id="@+id/action_search"
android:title="search"
android:icon="@drawable/ic_search"
app:showAsAction="ifRoom|collapseActionView"
android:hint="Enter Tags"
app:actionViewClass="android.support.v7.widget.SearchView" />
Сейчас, когда я смотрю на HomeActivity
. Это выглядит следующим образом:
Это прекрасно !. Я не реализовал бэкэнд-код выше SearchView
. Теперь я хочу, чтобы добавить некоторые следующие особенности в выше Search bar
Пользователь может искать с помощью тегов (Поиск с помощью тегов означает, что если есть пространство между двумя словами, то я буду рассматривать их как метки). Это очень похоже на приложение
Pintreset
.Далее я хочу получить эти теги от
Search Bar
и внести вGet
параметр запроса.Скриншот
Вопросы
- На данный момент, забыл о
Style
. Я просто хочу знать, как я могу достичь этого в моемSearch Bar
? - Как я могу добавить коробку на каждый тэг с этим крестиком в
Android app bar
?
Любая помощь будет заметна.
Edit-1
Я добавляю onCreateOptionsMenu
метод:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search)
.getActionView();
if (null != searchView) {
searchView.setSearchableInfo(searchManager
.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
}
SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
public boolean onQueryTextChange(String newText) {
// this is your adapter that will be filtered
return true;
}
public boolean onQueryTextSubmit(String query) {
//Here u can get the value "query" which is entered in the search box.
return true;
}
};
searchView.setOnQueryTextListener(queryTextListener);
return super.onCreateOptionsMenu(menu);
}
я получаю текст представления в onCreateOptionsMenu.onQueryTextSubmit
метода. Что мне теперь делать?
Спасибо, что ответили. Будет ли 'mSearchAutoComplete = (AutoCompleteTextView) findViewById (android.support.v7.appcompat.R.id.search_src_text);' будет 'mSearchAutoComplete = (AutoCompleteTextView) findViewById (android.support.v7.appcompat.R.id.search_src_text); '? –
Я не показываю 'AutoCompleteTextView'. Пользователь добавит строку с пробелами. После этого мне нужно взять эти слова и сделать запрос –
@AmitPal Да, вы не показываете, но так оно реализовано в исходном коде Android. Посмотрите здесь - http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/widget/SearchView.java#116. – Oleksandr