I'm working on an app. It requires a searchview. im facing a problem while working with cursor adaptor. i simply want a string array or xml string array to displayed in suggestion adaptor. when i click on search button it show suggestion and on suggestion click it do given work. i need codes that will help me sort out this problem. I'm not a professional programmer.
You can achieve Using SearchAutoComplete view,try something below like this
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main_menu, menu);
searchMenuItem = menu.findItem(R.id.action_search)
searchView = (SearchView) searchMenuItem.getActionView();
searchAutoComplete = (SearchView.SearchAutoComplete) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
SearchManager searchManager =
(SearchManager) getSystemService(this.SEARCH_SERVICE);
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.suggetion, jsonArrayList);
// jsonarraylist is static string array
searchAutoComplete.setAdapter(adapter);
searchAutoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Your code for onitemclick
}
}
activity_main_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
android:title="@string/search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView"/>
</menu>
suggetion.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/dropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="@color/colorAccent"
android:textAppearance="?android:attr/textAppearanceLargePopupMenu"/>
I hope this may help you,All the best.