Articles of android search

如何突出显示searchfilter中的search文本?

我正在尝试进行search,以便所有“可见”search字母都应该突出显示。 我尝试使用spannable,但没有做到这一点,也许我没有这样做的权利? 基于此: 在ListView项目中突出显示search到的文本如何突出显示可见文本? 这是我的filter: private LayoutInflater mInflater; private ValueFilter valueFilter; public MySimpleArrayAdapter(Activity context) { this.context = context; mInflater = LayoutInflater.from(context); } private class ValueFilter extends Filter { //Invoked in a worker thread to filter the data according to the constraint. @Override protected synchronized FilterResults performFiltering(CharSequence constraint) { FilterResults results = new FilterResults(); if (constraint […]

Android使用支持库来支持SearchView

这是我的代码: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { MenuItem searchItem = menu.findItem(R.id.searchMenuItem); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); // searchView.set searchView.setSearchableInfo( searchManager.getSearchableInfo(getComponentName())); searchView.setIconifiedByDefault(false); } 我的最低API是8。 我有这个编译错误 Call requires API level 11 (current min is 8): android.widget.SearchView#setSearchableInfo 请注意,我无法更改最低的SDK。

如何检测SearchView的后退button?

我正在使用单个活动来显示SearchView以及显示search结果。 search结果只是项目的一个子集,所以search就像一个filter。 似乎一切工作正常,除了我不知道如何恢复视图中的一个后退button点击时的所有项目。 或者,也许有另一种方式来检测用户从search结果导航到以前的视图(在我的情况下,是相同的观点)。 谢谢

实现谷歌播放和地图像search栏android

我有一个要求,创build一个谷歌播放和地图像filter的search栏在我的项目,但我不知道如何开始。 我试图通过自定义的实现,如下所示: 自动完成TextView里面的ToolBar android MainActivity.java toolbar = (Toolbar) findViewById(R.id.tool_bar); setSupportActionBar (toolbar); ArrayList<String> searchArrayList = new ArrayList<String>(); searchArrayList.add("United States"); searchArrayList.add("France"); searchArrayList.add("United Kingdom"); searchArrayList.add("India"); searchArrayList.add("Indonesia"); searchArrayList.add("Germany"); searchArrayList.add("Spain"); AutoCompleteAdapter adapter = new AutoCompleteAdapter(this, R.layout.list_item, R.id.textView1, searchArrayList); AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.searchAutoComplete); autoCompleteTextView.setDropDownWidth(getResources().getDisplayMetrics().widthPixels); autoCompleteTextView.setAdapter(adapter); 使用ArrayAdapter自定义AutoCompleteAdapter类的实现 AutoCompleteAdapter.java public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filterable { private ArrayList<String> fullList; private ArrayList<String> […]

工具栏searchbuild议主题

我正在尝试将searchbuild议更改为“轻量级主题”。 我正在使用appcompat-v7:22.2.0库,并阅读有关自定义search视图窗口小部件(android.support.v7.widget.SearchView)的新function 。 第一部分 工具栏 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 主旋律 <style name="Main.Theme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/red</item> <item name="colorPrimaryDark">@color/red_dark</item> <item name="searchViewStyle">@style/Main.Theme.SearchView</item> </style> SearchView主题 <style name="Main.Theme.SearchView" parent="Widget.AppCompat.Light.SearchView"> <item name="voiceIcon">@mipmap/test_icon</item> </style> 这样我就无法影响search视图。 为了testing它,我正在更改search视图中的语音图标,并且它不会从默认更改。 第二个尝试部分 第二次尝试是覆盖工具栏中的叠加主题: 叠加主题 <style name="Main.Theme.Overlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="searchViewStyle">@style/Main.Theme.SearchView</item> </style> 这样我有一些反馈,但我失去了“材料devise”,特别是我有“旧”的提示图标,它的下划线。 我的最终目标是改变searchbuild议行背景: build议行布局 <item name="suggestionRowLayout">@layout/my_custom_layout</item> 我觉得我很远,要完成这个…你能帮我吗?

在SearchView中的文本input不显示

几天前我注意到在我的SearchView中input文本没有显示出来。 也许这个问题早就开始了,我没有注意到,但是我知道,当我第一次设置searchfunction时,一切运行良好。 这是一个截图(我已经input文字,你可以看到它没有显示): 我已经试图改变SearchView的文本的颜色,用这个问题 ,我也试着改变我的可searchconfigurationXML文件中的文本颜色。 当我发现这些工作都没有,我解开了我的更改,以便您可以看到我目前具有的代码: MainActivity.java @Override public boolean onCreateOptionsMenu(Menu) { … // Associate searchable configuration with the SearchView SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); MenuItem searchMenuItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) searchMenuItem.getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(this, SearchResultsActivity.class))); // Note: getSearchableInfo(getComponentName()) will not work on all flavours // because of a difference in app IDs } […]

search视图closures图标显示为禁用,而不是白色

每当我input我的search视图closuresbutton(X)似乎被禁用由于某种原因,而不是出现在白色的颜色。 如何解决这个错误,使它看起来是白色的? @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_search_list, menu); MenuItem item = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(item); searchView.setOnQueryTextListener(this); searchView.setQueryHint(getResources().getString(R.string.station_search_hint)); } menu_search_list.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_action_search_light" android:title="@string/action_search" android:orderInCategory="100" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView"/> </menu>

全局search在Android 4.4中无法按预期工作

我有一个应用程序有两个searchbuild议提供程序都扩展SearchRecentSuggestionsProvider ,我已经在清单文件中使用以下Intentfilter和元数据正确设置它: <intent-filter> <action android:name="android.intent.action.SEARCH" /> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable_tv" /> 可search的资源包括android:includeInGlobalSearch="true" ,所以应该没问题。 而且我显然还有一个提供者: <provider android:name="com.miz.contentprovider.TvShowContentProvider" android:authorities="com.miz.contentprovider.TvShowContentProvider" android:exported="true" /> Android 4.3使用Googlesearch应用程序,这一切都工作得很好,但我刚刚更新所有设备到Android 4.4,我不能再search我的应用程序内的内容。 同样的事情适用于操作系统更新之前的其他应用程序,即Google Play音乐。 我在XDA开发者中发现了一个线程,提到了这一点,如果有帮助: http : //forum.xda-developers.com/showthread.php?p=47472102 有没有人有任何想法发生了什么事情或如何解决? 更新:我可以确认,它只发生在Android 4.4的设备上。 我已经使用最新的Googlesearch更新在Android 4.3设备上进行了testing,并且按预期工作。 看起来这是Google更新中的一个错误。

如何删除Toolbar Android中的SearchView小部件中的白色下划线

我在我的项目中使用工具栏search小部件。 一切工作正常,但期望的东西,我完全坚持删除下面的search字段在我的工具栏中的下划线。 我已经尝试了很多解决scheme,没有任何工作。 下面是我尝试的一些解决scheme。 要求是删除图像中的白色下划线 Ist解决scheme: //Removing underline int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null); View searchPlate = searchView.findViewById(searchPlateId); if (searchPlate!=null) { searchPlate.setBackgroundColor (Color.TRANSPARENT); int searchTextId = searchPlate.getContext ().getResources ().getIdentifier ("android:id/search_src_text", null, null); } IInd解决scheme: EditText searchEdit = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)); searchEdit.setBackgroundColor(Color.TRANSPARENT); 上面的代码工作来改变EditText的背景,但仍然强调显示在SearchBar中的closures图标下方。 我用于SearchBar小部件的完整代码如下: @Override public void onCreateOptionsMenu(Menu menu, MenuInflater infl) { super.onCreateOptionsMenu(menu, infl); MenuInflater inflater = getActivity().getMenuInflater(); […]

SearchInfo总是出来null

在操作栏中设置search视图时遇到问题。 我跟着开发者网站,但它不工作。 我感到我失去了一些东西。 当我运行我的代码时,它总是输出“无法获取可search的信息”(MainActivity.setupSearchView())。 MainActivity.java // package… // imports… public class MainActivity extends Activity { private static String tag = "Main Activity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater mi = getMenuInflater(); mi.inflate(R.menu.search_view, menu); setupSearchView(menu); return true; } private void setupSearchView(Menu menu) { SearchManager sm = […]