搜索自动完成 android
Search autocomplete android
我刚接触 android,我被要求像下图那样使用自动完成功能进行搜索
我在 android.support.v7.widget.searchview 中尝试了 SearchAutoComplete,但我得不到想要的结果,所以请帮忙
这是我试过的
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main_menu,menu);
MenuItem searchItem = menu.findItem(R.id.app_bar_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setIconifiedByDefault(true);
SearchView.SearchAutoComplete searchAutoComplete = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchView.setBackgroundColor(Color.WHITE);
searchAutoComplete.setAdapter(new CustomAdapter(this,new ArrayList<>(Arrays.asList(languages))));
searchAutoComplete.setOnItemClickListener((adapterView, view, i, l) -> {
String shopName = ((TextView)view.findViewById(R.id.shop_name)).getText().toString();
Toast.makeText(this,shopName,Toast.LENGTH_SHORT).show();
});
return true;
}
这是
的 xml
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/app_bar_search"
android:icon="@drawable/ic_search_black_24dp"
android:title="Search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|withText|collapseActionView"/>
这是结果
android.support.v7.widget.searchview
的默认外观不是您想要的。但是,这是 android 中的普遍观点,并且有很多不错的库。
我建议你使用一个可以帮助你喜欢这个的库https://github.com/arimorty/floatingsearchview
我刚接触 android,我被要求像下图那样使用自动完成功能进行搜索
我在 android.support.v7.widget.searchview 中尝试了 SearchAutoComplete,但我得不到想要的结果,所以请帮忙 这是我试过的
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main_menu,menu);
MenuItem searchItem = menu.findItem(R.id.app_bar_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setIconifiedByDefault(true);
SearchView.SearchAutoComplete searchAutoComplete = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchView.setBackgroundColor(Color.WHITE);
searchAutoComplete.setAdapter(new CustomAdapter(this,new ArrayList<>(Arrays.asList(languages))));
searchAutoComplete.setOnItemClickListener((adapterView, view, i, l) -> {
String shopName = ((TextView)view.findViewById(R.id.shop_name)).getText().toString();
Toast.makeText(this,shopName,Toast.LENGTH_SHORT).show();
});
return true;
}
这是
的 xml<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/app_bar_search"
android:icon="@drawable/ic_search_black_24dp"
android:title="Search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|withText|collapseActionView"/>
这是结果
android.support.v7.widget.searchview
的默认外观不是您想要的。但是,这是 android 中的普遍观点,并且有很多不错的库。
我建议你使用一个可以帮助你喜欢这个的库https://github.com/arimorty/floatingsearchview