Articles of searchview

如何在MainActivity中解除/关闭/解除ActionBar中的SearchView?

我想在输入值后清除并关闭SearchView。 我find了一个解决方案,但它会关闭搜索,如果我再次尝试搜索,则不会执行任何操作。 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main_actions, menu); searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); searchView.setOnQueryTextListener(searchListener); return super.onCreateOptionsMenu(menu); } SearchView.OnQueryTextListener searchListener = new SearchView.OnQueryTextListener(){ @Override public boolean onQueryTextChange(String arg0) { return false; } @Override public boolean onQueryTextSubmit(String query) { new JsoupGetData(“http://api.openweathermap.org/data/2.5/find?q=”+ query + “&lang=pl”).execute(); try { searchView.onActionViewCollapsed(); } catch(Exception ex){ ex.printStackTrace(); System.out.println(ex); } return true; } […]

展开“搜索视图”以使用整个操作栏(隐藏其他内容)

我在ActionBar有一个SearchView ,我想在按下搜索图标时使用整个ActionBar ,但我只能使用ActionBar自由空间 例如: http : //imgur.com/wnjMfWO 我的菜单代码: 我曾经android:showAsAction=”ifRoom”过android:showAsAction=”ifRoom” ,但我需要它们始终在我的ActionBar ,而不是在我的菜单中。 编辑—— 感谢@Simas, 我使用setOnActionExpandListener方法来实现这种效果 final MenuItem searchItem = menu.findItem(R.id.search); searchItem.setOnActionExpandListener(new OnActionExpandListener() { @Override public boolean onMenuItemActionExpand(final MenuItem item) { SearchActivity.this.setItemsVisibility(menu, searchItem, false); return true; } @Override public boolean onMenuItemActionCollapse(final MenuItem item) { SearchActivity.this.setItemsVisibility(menu, searchItem, true); return true; } }); private void setItemsVisibility(final Menu menu, final […]

无法在SearchView中自动显示键盘

SearchView默认是聚焦的,但是当我尝试显示软件键盘时 – 它不会发生: InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 但是当我点击SearchView时 – 它确实如此。 为什么?

Android ActionBar:带有操作按钮的可折叠SearchView

当展开搜索视图时,如何使用可折叠搜索视图构建ActionBar ,并且单个操作项可见? 为了更具描述性,这就是我需要的: 请注意,还有其他菜单项和android:uiOptions=”splitActionBarWhenNarrow”在AndroidManifest.xml定义。 我尝试设置自定义搜索项目布局: menu.xml文件 actionbar_search.xml 但默认情况下,搜索视图采用所有可用宽度,按钮不可见。 我不知道如何强制SearchView填充应用程序图标和菜单项之间的所有可用空间。 我发现的只是android:maxWidth属性,但这只允许硬编码维度,我正在寻找一些更灵活的解决方案。 我还试用了RelativeLayout和android:layout_toRightOf=”@id/search_view”没有运气。

更改appcompat的SearchView文本和提示颜色

有谁知道如何更改appcompat SearchView的文本颜色? 我已经花了2个小时从SO那里尝试了几个建议,但都没有。 这是我的代码: 在我的活动中我有这个: public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); menuItem layerSwitcher = menu.findItem(R.id.layer_switcher_button); layerSwitcher.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { onLayerSwitcherButtonClicked(); return false; } }); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); LinearLayout ll = (LinearLayout) searchView.getChildAt(0); TextView textView = (TextView) ll.getChildAt(0); textView.setTextColor(R.color.white); }

无法在lapism / SearchView中的null对象上调用void android.view.View.setElevation(float)

我正在我的项目中使用library lapism / SearchView( https://github.com/lapism/SearchView )。 但我只在Android 5.0上获得了运行时exception: A/art: art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: can’t call void android.view.View.setElevation(float) on null object A/art: art/runtime/check_jni.cc:65] in call to CallVoidMethodV A/art: art/runtime/check_jni.cc:65] from void android.animation.PropertyValuesHolder.nCallFloatMethod(java.lang.Object, long, float) A/art: art/runtime/check_jni.cc:65] “main” prio=5 tid=1 Runnable A/art: art/runtime/check_jni.cc:65] | group=”main” sCount=0 dsCount=0 obj=0x757838b0 self=0xb8994958 A/art: art/runtime/check_jni.cc:65] | sysTid=28467 nice=0 cgrp=apps […]

Android SearchView.OnQueryTextListener OnQueryTextSubmit未在空查询字符串上触发

我使用的是Android 4.1.2。 我在ActionBar上有一个SearchView小部件。 来自android开发者网站的SearchView.OnQueryTextListener文档指出,当“用户提交查询时调用”时会触发onQueryTextSubmit 。这可能是由于键盘上的按键或按下提交按钮所致。 如果搜索查询为空,则不会发生这种情况。 我需要这个来触发一个空查询来清除ListView的搜索filter。 这是一个错误还是我做错了什么?

Android SearchView过滤ListView

我已经在SherlockAction Bar中对SearchView实施了搜索filter。 当我输入mi想要在下面的列表视图中显示过滤结果时,仅以M开头,依此类推。 但现在它显示随机结果。 public boolean onQueryTextChange(String newText) { Log.i(“Nomad”, “onQueryTextChange”); if (TextUtils.isEmpty(newText)) { adapter.getFilter().filter(“”); Log.i(“Nomad”, “onQueryTextChange Empty String”); placesListView.clearTextFilter(); } else { Log.i(“Nomad”, “onQueryTextChange ” + newText.toString()); adapter.getFilter().filter(newText.toString()); } return true; } public boolean onQueryTextSubmit(String query) { Log.i(“Nomad”, “onQueryTextSubmit”); return false; } public boolean onClose() { Log.i(“Nomad”, “onClose”); return false; }

SearchView提示不显示单个字符types

我正在开发一个用Scala编写的Android应用程序,该应用程序在操作栏中使用android.support.v7.widget.SearchView覆盖的操作栏中使用android.support.v7.widget.Toolbar 。 在应用程序中,我需要为该SearchView启用搜索建议。 因此,每次检测到查询更改时,都会检查是否需要更新建议(下面的代码)。 如果需要更新建议,则会对后端进行调用,并创建一个包含搜索建议的android.database.MatrixCursor ,并在SearchView的建议适配器上设置(下面的代码)。 我遇到的问题是,在键入单个字符时,搜索提示不会显示。 在搜索框中键入两个或多个字符可以很好地工作。 我已经尝试将android:searchSuggestThreshold设置为我的XML配置中的0和1 ,我得到相同的结果(如该选项被忽略):搜索提示显示多个输入字符,但不显示单个字符。 我在SearchView的配置/初始化中遗漏了什么? 像android:searchSuggestThreshold以外的选项,我可以设置? 我花了最后几个小时寻找其他选择但却找不到。 我看到的一个可能的解决方案是让AutoCompleteTextView支持SearchView的输入并将其阈值设置为1,但这是一个丑陋的(hack-ish)解决方案,因为SearchView的API没有公开AutoCompleteTextView 。 有谁知道这个优雅的解决方案? 谢谢! 检测搜索字词更改: //this gets called whenever something is changed in the search box. “s” contains the entire search term typed in the search box def onQueryTextChange(s: String): Boolean = { //this checks to see if a call should be […]

使用Cards在RecyclerView上添加搜索filter?

我在RecyclerView分别find了ListView和SearchView上的filter解决方案,但我希望将它们组合起来。 它甚至可能吗?