怎么在Android中使用EditText实现一个搜索框功能

本篇文章给大家分享的是有关怎么在Android中使用EditText实现一个搜索框功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出灵宝免费做网站回馈大家。

EditText简介:

ED(EditText的简称)在开发中也是经常使用到的一个控件, 也是一个比较重要的组件,可以说它是用户跟应用进行数据传输的窗口,比如实现一个登陆界面, 需要用户输入账号和密码,然后我们开发者获取到用户输入的内容,提交给服务区进行判断再做相应的处理。

int search_mag_icon_id = sv_search.getContext().getResources().getIdentifier("android:id/search_mag_icon", null, null);
ImageView search_mag_icon = (ImageView)sv_search.findViewById(search_mag_icon_id);//获取搜索图标
search_mag_icon.setImageResource(R.drawable.search_icon);//将图标的资源换掉即可。

其实就是找到searchView的资源文件,并替换掉就可以了。

同理,close图标也可以替换,只要修改"android:id/search_mag_icon" 为"android:id/search_close_btn"即可。

文本框的字体颜色大小等: "android:id/search_src_text"

不要问我怎么知道的,searchview源码里写的呀。需要注意的是,修改文本框颜色和大小的时候,需要将view cast to textview或者edittext,源码的配置文件里面这个框就是一个view,强转一下即可。

EditText实现SearchView功能

前面searchview里面,如果要将键盘的换行改成搜索,是要修改imeOptions的属性即可,而Edittext的属性里其实是有这个的,所以在edittext的布局中添加imeOptions = “actionSearch” ,但是只添加这个属性是无法实现的。

 

其他的基础属性可以任意添加,再运行app发现输入文字后,换行确实换成搜索了。前三个属性一个都不能少。这样的话,我们只要在添加一个搜索的点击事件即可了:

et_earch.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
@Override 
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {    
 if(actionId == EditorInfo.IME_ACTION_SEARCH){  
//如果actionId是搜索的id,则进行下一步的操作  
  doSomething() }  
 return false; }
});

实现其中的onEditorAction方法即可。

剩下和searchView还不一样的就是没有close的按钮,其实监听一下edittext的输入就可以了,后续我就没做了,addTextChangedListener应该能实现,思路是:如果edittext里面有问题,则显示close的button,如果没有文字,则gone掉布局里面的close button。

以上就是怎么在Android中使用EditText实现一个搜索框功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


当前标题:怎么在Android中使用EditText实现一个搜索框功能
文章转载:http://csdahua.cn/article/ijioch.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流