寸阳分阴须爱惜,休负春色与时光。这篇文章主要讲述Android SearchView onclick相关的知识,希望能为你提供帮助。
我有一个searchView,看起来像这样:
private void setupSearchView() {
mSearchView = (SearchView) getActivity().findViewById(
R.id.search_view_neue);
setSearchViewBackground();
mSearchView.setOnClickListener(this);
mSearchView.setOnQueryTextListener(this);
}public boolean onQueryTextSubmit(String query) {
searchcounter = searchcounter + 1;
setSearchViewBackground();
ArrayList<
WissensdokumenteRecord>
documents = settingListContent(new ArrayList<
WissensdokumenteRecord>
());
setListAdapter(new NeueWissensdokumentItemAdapter(
inflater.getContext(), R.layout.row_example, documents));
InputMethodManager im = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(getActivity().getCurrentFocus()
.getWindowToken(), 0);
return false;
}<
SearchView
android:id="@+id/search_view_neue"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:background="@drawable/border_searchview"
android:maxWidth="540dp"
android:queryHint="Neue Dokumente suchen" >
<
/SearchView>
因此,搜索视图的行为是,通过单击搜索按钮打开键盘。现在我可以搜索一些东西了。是否可以通过点击搜索视图中的任意位置进行搜索?有没有人有我的榜样?
答案我设法通过以下方式执行此操作:
在单击侦听器上设置搜索视图
mSearchView.setOnClickListener(this);
抓住onClick事件:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.searchView:
mSearchView.onActionViewExpanded();
break;
}
}
这样,如果单击搜索栏上的任意位置,将激活键盘和搜索。
另一答案我必须建议使用qazxsw poi监听器检测qazxsw poi点击根据Android
setOnSearchClickListener
:setOnSearchClickListener
void setOnSearchClickListener(View.OnClickListener listener)
设置一个侦听器,以便在按下搜索按钮时通知。
SearchView
另一答案这将完全符合您的目标。 docs将在SearchView的这一端保留十字图标,这样用户仍然可以像点击放大镜一样取消。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.orders_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (searchView != null) {
searchView = (SearchView) searchItem.getActionView();
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//perform your click operation here
}
});
return true;
}
另一答案我不明白为什么你需要在它上面设置OnClickListener。通过单击SearchView,您将更新文本光标。要执行搜索,您可以使用键盘IME操作。如果单击它将执行搜索,则无法更改光标等。除了在文本字段中聚焦/更新光标之外,制作其他内容通常是错误的行为。
据我记忆 - 你不需要在OnQueryTextListener中隐藏键盘。它应该自动发出。在OnQueryTextSubmit中处理您的搜索
setIconified(false)
另一答案一个搜索小部件,拦截其子节点上的所有触摸,并在触摸时进行回调:
searchView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
searchView.setIconified(false);
}
});
【Android SearchView onclick】用法:search with Sherlock ActionBar SearchView setOnKeyListener
推荐阅读
- 如何让2017年的Visual Studio看到android 7()
- VS2017 Bootstrapper(缺少Engine / setup.bin)
- Symfony 4简介(创建第一个” Hello World”应用程序)
- ?什么是polyfill()
- 如何使用实体管理器和服务容器为symfony 2和3创建php服务
- 使用Shopware Profiler以正确的方式调试和分析Shopware
- 如何在WinForms中使用C#使用SharpZipLib创建和提取zip文件(压缩和解压缩zip)
- 如何在TCPDF中实现自定义字体
- 检查已签名的用户在Symfony 2和3中是否具有特定角色