android使用浮动搜索框的一些注意事项

本文介绍浮动搜索框的特点,包括其实现方式及其对Activity的影响。详细解释了两种触发搜索框的方法及如何传递参数,还讨论了不同配置下搜索请求的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搜索框和普通对话框一样,浮动在屏幕的最上方,它不会改变任何Activity堆栈状态,没有任何Activity生命周期中的方法会被调用,只是当搜索框出现就,正在运行的Activity会失去输入焦点。

弹出浮动搜索框的两种办法:
1。通过在程序中执行onSearchRequested()方法
2。在 onCreate()方法中调用setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL),这样,当用户按下键盘上的按键时,将会自动激活搜索框。

要给搜索框传递参数,我们需要重写onSearchRequested()方法,然后再执行搜索的activity中取得传递过来的参数。

如果当前的Activity就是响应搜索请求的Activity时,会有以下两种情况:
默认情况下,ACTION_SEARCH Intent将会创建一个新的Activity,并调用onCreate()方法,这个新的Activity会显示在最前面,你将同时有两个 Activity实例。当你按“返回”键里,会回到没有执行搜索前的一个Activity。
另一种情况是配置了android:launchMode=”singleTop”的Activity,这时,我们需要 在 onNewIntent(Intent)方法中处理搜索请求

关于singleTop,可以参考下面的链接:
http://android.group.iteye.com/group/blog/718835
讲述了Activity的四种加载模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值