java searchview_java – Android SearchView空字符串
我正在尝试使用SearchView,除非我想搜索空字符串,否则我可以使用一切.
当我删除最后一个字符时,onQueryTextChange会做出反应,但我希望用户能够在搜索字段为空时按下搜索按钮.
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
// Do something
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
// Do something
return true;
}
};
searchView.setOnQueryTextListener(queryTextListener);
我也尝试过使用OnKeyListner.但它似乎也没有用.
searchView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
//Do something
return true;
}
});
这似乎是一件很简单的事情,但我无法让它发挥作用.有什么建议?
编辑
我已经找了一段时间的解决方案,在发布这个问题后的几分钟,我找到了解决方案.
在这个帖子中,我发现这不是一个错误,但它实际上是故意的.
所以我刚下载了ActionBarSherlock并对onSubmitQuery()方法进行了一些修改
从
private void onSubmitQuery() {
CharSequence query = mQueryTextView.getText();
if (query != null && TextUtils.getTrimmedLength(query) > 0) {
if (mOnQueryChangeListener == null
|| !mOnQueryChangeListener.onQueryTextSubmit(query.toString())) {
if (mSearchable != null) {
launchQuerySearch(KeyEvent.KEYCODE_UNKNOWN, null, query.toString());
setImeVisibility(false);
}
dismissSuggestions();
}
}
}
和修改版
private void onSubmitQuery() {
CharSequence query = mQueryTextView.getText();
if(query == null) {query = "";}
if (mOnQueryChangeListener == null
|| !mOnQueryChangeListener.onQueryTextSubmit(query.toString())) {
if (mSearchable != null) {
launchQuerySearch(KeyEvent.KEYCODE_UNKNOWN, null, query.toString());
setImeVisibility(false);
}
dismissSuggestions();
}
}
希望如果其他人遇到这个问题,这会有所帮助.
java searchview_java – Android SearchView空字符串相关推荐
- android定义空字符串数组,android – retrofit:处理可以是空字符串或数组的属性
您可以尝试这个来检查prop2是数组还是空字符串 JsonObject jsonObject = new Gson().fromJson("{ \"status\":\& ...
- android 去空字符串,android – TextUtils.isEmpty()方法为空字符串返回false
对于空字符串,它应该返回true. 从TextUtils的源代码: public static boolean isEmpty(@Nullable CharSequence str) { if (st ...
- Java关于null和空字符串““的区别
我们都知道当我们new一个String类型的变量是时,用的是 String str = null:而不是Sting str ="": null不会分配内存空间,相当于什么都没有. ...
- android 表示空字符串,Android Logcat获取空字符串时非常奇怪的行为
这是一个有趣的问题.我只是在LogRabbit中尝试过,并且能够看到相同的结果. 我快速浏览了android源代码,看到Log.W(-)最终以本机代码显示并在logd_write.c中得到处理 这基本 ...
- java map转json字符串_Java-Gso-json字符串解析-php后台返回字段类型可能为字符串(/空字符串)或者对象的情况...
其实本来android前端定义的对象类型是对象,如果后台没有值的情况下,理论上给null,如果是数组给[]或者null都可以的.这样Gson再解析转换的时候就不会出问题!但是最近重构发现后台如果没有字 ...
- android+proguard目录,Android proguard问题:路径可能不是null或空字符串.路径=“空”...
在设置之前,每件事情都很好 minifyEnabled true 和 shrinkResources true 设置这些值后,每当我运行项目时,我都会收到此错误: Information:Gradle ...
- 在 Java 中检查空字符串或空白字符串
1. 简介 在本教程中,我们将讨论一些在 Java 中检查空字符串或空白字符串的方法.有一些母语方法,以及几个库. 2. 空与空白 当然,知道字符串何时为空或空白是很常见的,但让我们确保我们的定义在同 ...
- java 空串占用内存吗_java空字符串“”和null区别
空字符串"" 1.类型:""是一个空字符串(String),长度为0,占内存,在内存中分配一个空间,可以使用Object中的方法(.toString()等) 2 ...
- java list 去空字符串_【JAVA基础】list和字符串判空
前言: 我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢? 一.J ...
最新文章
- Dinic二分图匹配 || Luogu P3386
- 干货丨深度学习VGG模型核心拆解
- python多进程共享内存
- 假日教程-ZStack映像檔系列(TurnkeyLinux Observium)
- Java并发教程–锁定:内在锁
- ZOJ 3981 2017CCPC秦皇岛 A:Balloon Robot
- python2.3嵌套if结构:
- Linux驱动的ioctl函数简要说明
- vm14安装mac10教程(亲测;转载)
- 【从零开始学架构-李运华】01|架构到底是指什么?
- SpringBoot兼容人大金仓数据库
- stm32指纹考勤机 (程序源码包括app程序+pcb电路图+原件清单)
- android su程序分析
- Andriod Studio创建数据库并查看自己创建的数据库
- OkHttp3 (二)——请求
- AndroidStuodio编译失败报错:Entry name ‘assets/sm2/t.jks‘ collided解决方案
- 《周易》经典语录,感悟人生智慧(二)
- 统计学学习日记:L10-假设检验p值
- 程序员求职简历,项目经验怎么写?免费修改简历并提供简历模板
- centos 6.6 安装图形界面 X server gnome Xwindows