android在按下搜索按钮@手机时启动用户定义的活动

Posted

技术标签:

【中文标题】android在按下搜索按钮@手机时启动用户定义的活动【英文标题】:android start user defined activity on search button pressed @ handset 【发布时间】:2010-12-27 03:27:18 【问题描述】:

当用户按下手机上的搜索按钮时,我正在使用以下代码启动活动

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) 
    if(keyCode == KeyEvent.KEYCODE_SEARCH)
        Util.startActivity(ReviewsDetail.this, KeywordSearch.class);
        return false;
    else
        return super.onKeyUp(keyCode, event); 
    

但这里有几个问题,请看下图。

当按下搜索按钮时,它首先在活动顶部显示谷歌搜索框,然后开始我要开始的活动

点击返回按钮时显示空活动

【问题讨论】:

第一种情况下应该是return true; 【参考方案1】:

搜索按钮和系统的搜索请求在从您应用的任何活动中调用时都是一样的。如果您想覆盖它,您将不得不为您希望它以相同方式工作的每个活动覆盖它。不幸的是,没有办法“全局”覆盖它,也没有办法对默认搜索弹出窗口进行子类化/样式化/主题化。太伤心了,谷歌。

【讨论】:

【参考方案2】:
 @Override
 public boolean onSearchRequested() 

     // your logic here

     return false;  // don't go ahead and show the search box
 

【讨论】:

我很高兴听到这个消息。如果您对回复感到满意,请通过勾选投票符号下方的接受图标将其标记为“已接受”,以便其他用户可以看到此问题已得到解决。 为什么不建议覆盖搜索按钮行为?! 这没有任何意义 - 搜索按钮应该被覆盖以在您的应用中进行搜索,否则它什么也不做。 老实说,我不记得我为什么写那个。我同意这没有意义;删除...

以上是关于android在按下搜索按钮@手机时启动用户定义的活动的主要内容,如果未能解决你的问题,请参考以下文章

Android Fragment 在按下后退按钮时未保存 UI 状态

Android:如何在按下按钮时关闭一个活动并在按下另一个按钮时关闭整个后台堆栈? [复制]

如何在按下 UIButton 的按钮时关闭按钮阴影?

使 matplotlib 按钮小部件在按下时启动,而不是在释放时启动

WPF Focused Visual State 仅在按下按钮时才会启动,为啥?

Razor 页面搜索表单在按下后退按钮时不保留旧值