Articles of 搜索

如何将可搜索的活动与Ok Google语音搜索集成?

我正在尝试实施Ok Google Voice Search集成 。 但是,当我说“在app_name上搜索Android”时,我无法深入链接到我的应用。 相反,它只是搜索网络上的术语。 这是我做的: 创建/res/xml/searchable.xml 创建一个新的活动 public class ExposedSearchActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String search = getIntent().getStringExtra(SearchManager.QUERY); Log.wtf(“”, “q=” + search); } } 将意图filter附加到可搜索的活动 我的测试设备是运行Lollipop LPX13D的Nexus 5,带有谷歌搜索4.0.26.1499465.arm 我可能忘记了哪些其他步骤? 提前致谢。

android:根据服务器响应实现应用搜索建议

我需要在我的Android应用程序中构建一个搜索function,它依赖于服务器的json响应。 用户将在位于操作栏中的搜索视图中输入搜索查询。 根据用户types,将对服务器进行查询,并且服务器返回的响应应显示为下拉建议。 我应该怎么做呢。 根据我读过的文档,我需要实现一个内容提供者。 什么是实现应用搜索的最佳方式?

可搜索的活动被调用两次

我正在尝试创建我的第一个Android应用程序,并在添加SEARCHfunction的过程中。 我按照Android Developer文档添加了“搜索”对话框和小部件。 不幸的是,每当我执行搜索时,都会调用搜索活动的“onCreate”和“onNewIntent”。 也就是说,通过在操作栏搜索框中键入内容并按Enter键,搜索称为TWICE。 我被卡住了。 是否应该从Searchable活动返回一些全球标志,通知应用程序搜索已完成? 是否同时调用了搜索对话框和小部件? 我搜索过本网站和网络上的post都无济于事。 感谢您的任何帮助。 AndroidManifest.xml中 <!– –> SearchableActivity.java public class SearchableActivity extends ListActivity implements Receiver { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println(“onCreate”); handleIntent(getIntent()); } @Override public void onNewIntent(Intent intent) { super.onNewIntent(intent); System.out.println(“onNewIntent”); setIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY); […]

处理搜索的最佳实践

我有一个SearchView设置,我有一个使用Retrofit和Otto松散分离的架构。 我想知道Android中的搜索最佳实践是什么,或者一般的任何移动应用程序(意味着这样的东西也可以应用于iOS)。 具体来说,我使用AutoCompleteTextView来处理我的SearchView建议,数据直接来自API 。 我不相信这是最佳做法,因为每次用户更改SearchView文本时都会启动API调用。 我正在考虑在SQLite中存储Cache然后从那里ping结果,但是如果用户想要最直接的数据呢? 你会怎么处理? 采用什么样的模式? 非常感谢有关Android中搜索的最佳架构或方法的任何想法。

为Android中的Spinner创建文本filter(如快速搜索)

我正在开发一个Android应用程序。 我在这里有一些小工具,包括一个Spinner。 我希望使用快速搜索按钮可以搜索Spinner对象。 想法是用户点击了Spinner对象,他看到了列表(适配器)。 如果他点击快速搜索按钮,他应该被提供一个文本字段来输入一个字母,然后微调器列表跳转到它find的第一个字,提供的字母。 就像它适用于html和选择标签一样。 我试过google(当然是SO),但似乎是这样 没有人对这样的解决方案感兴趣 这是一个严密保密的秘密。 🙂 你对这个主题有什么指示吗?

Android – 将搜索filter实施到RecyclerView

我需要在我的RecyclerView上实现基于EditText的搜索function,列表必须在typng时进行过滤 这是代码: DisplayAdapter.java这是适配器 public class DisplayAdapter extends RecyclerView.Adapter{ private List displayedList; public class MyViewHolder extends RecyclerView.ViewHolder{ public TextView english_d; public MyViewHolder(View view){ super(view); english_d = (TextView) view.findViewById(R.id.engword); } } public DisplayAdapter(List displayedList){ this.displayedList = displayedList; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int position) { // create a layout View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false); return […]

隐藏ActionBar菜单时,SearchView会聚焦

我有一个带有SearchView的ActionBar。 选择菜单按钮时,隐藏/溢出菜单项将显示在下拉列表的右侧。 隐藏下拉菜单时,SearchView会聚焦并显示键盘。 有没有办法阻止键盘显示(除了触摸SearchView的情况)? 问候,朱利叶斯。 编辑下面添加的代码:以下是我初始化它的方式: SearchManager searchManager = (SearchManager) mActivity.getSystemService(Context.SEARCH_SERVICE); ((SearchView) mSearchView).setSearchableInfo(searchManager.getSearchableInfo(mActivity.getComponentName())); mSearchView.setIconifiedByDefault(mIconified); mSearchView.setOnQueryTextListener(this); mSearchView.setOnCloseListener(this); mSearchView.setFocusable(false); mSearchView.setFocusableInTouchMode(false); if(null!=mQuery) mSearchView.setQuery(mQuery, false); 编辑2: 以下是用户想要开始搜索时的操作: @Override public boolean onQueryTextSubmit(String query) { // Hide keyboard InputMethodManager imm = (InputMethodManager) mActivity.getSystemService( FragmentActivity.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0); … mSearchView.setFocusable(false); mSearchView.setFocusableInTouchMode(false); return true; }

我怎样才能使用baseadapter过滤listview

我试图过滤listview,但getfilter方法不起作用, 这是代码: @Override public void afterTextChanged(Editable s) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { mHistoryAdapter.getFilter().filter(s); } 我也在baseadapter中添加了方法 public Filter getFilter() { return null; } 但它不起作用..可以有人帮助我.. @谢谢

为什么我的可搜索活动的Intent.getAction()为null?

我已经按照SearchManager文档进行了操作,但仍然无法搜索我的应用程序的某个活动。 从我的活动,出现搜索对话框,我输入查询,点击搜索,我的活动重新打开,然后我在日志中看到这个: D/SearchDialog( 584): launching Intent { act=android.intent.action.SEARCH flg=0x10000000 cmp=com.clinkybot.geodroid2/.views.Waypoints (has extras) } I/SearchDialog( 584): Starting (as ourselves) #Intent;action=android.intent.action.SEARCH;launchFlags=0x10000000;component=com.clinkybot.geodroid2/.views.Waypoints;S.user_query=sdaf;S.query=sdaf;end I/ActivityManager( 584): Starting activity: Intent { act=android.intent.action.SEARCH flg=0x10000000 cmp=com.clinkybot.geodroid2/.views.Waypoints (has extras) } D/WAYPOINTS( 1018): NI Intent { cmp=com.clinkybot.geodroid2/.views.Waypoints (has extras) } D/WAYPOINTS( 1018): NI null D/WAYPOINTS( 1018): NI false 在我看来,直到最后三行,一切都很好。 “NI”行分别是getIntent().toString(), getIntent().getAction()和getIntent().hasExtra(SearchManager.QUERY) 。 ActivityManager似乎正在以正确的操作启动我的活动。 然后当我的活动开始时,它不包含任何动作!? 我究竟做错了什么? […]

突出显示ListView项目中的搜索文本

我有一个ListView ,我使用自定义适配器来显示数据。 现在我想改变搜索文本字母颜色,如上面的屏幕截图。 这是SearchView的代码 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbar_menu_item, menu); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); final SearchView searchView = (SearchView) menu.findItem(R.id.action_search) .getActionView(); searchView.setSearchableInfo(searchManager .getSearchableInfo(getComponentName())); searchView.setOnQueryTextListener(this); return super.onCreateOptionsMenu(menu); } public boolean onQueryTextChange(String newText) { // this is adapter that will be filtered if (TextUtils.isEmpty(newText)){ lvCustomList.clearTextFilter(); } else{ lvCustomList.setFilterText(newText.toString()); } return […]