【问题标题】:android start user defined activity on search button pressed @ handsetandroid在按下搜索按钮@手机时启动用户定义的活动
【发布时间】: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;

标签: android search button


【解决方案1】:

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

【讨论】:

    【解决方案2】:
     @Override
     public boolean onSearchRequested() {
    
         // your logic here
    
         return false;  // don't go ahead and show the search box
     }
    

    【讨论】:

    • 我很高兴听到这个消息。如果您对回复感到满意,请通过勾选投票符号下方的接受图标将其标记为“已接受”,以便其他用户可以看到此问题已得到解决。
    • 为什么不建议覆盖搜索按钮行为?!
    • 这没有任何意义 - 搜索按钮应该被覆盖以在您的应用中进行搜索,否则它什么也不做。
    • 老实说,我不记得我为什么写那个。我同意这没有意义;删除...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2014-03-07
    相关资源
    最近更新 更多