【问题标题】:Disable the Search Button (Quick Search Box) in Android禁用 Android 中的搜索按钮(快速搜索框)
【发布时间】:2011-08-11 06:31:23
【问题描述】:

我现在正在开发一个应用程序,我需要禁用快速搜索框,因为它以某种方式关闭了我的对话框,该对话框要求提供信息以阻止不应该使用我的应用程序的人 [它正在开发中,及其上市 - 它使人们更容易了解最新情况]。永远不会触发所有类型的关闭对话框的侦听器 - 我不知道为什么。我到处找,我没有得到关于如何禁用它的结果。 (2.1 及以上)。 How to disable QSB..? 是一个好的开始,但它不起作用。我不知道为什么谷歌坚持我使用这个......我在我的应用程序中完全不需要这个。 我该如何解决这个问题……还是我必须尝试另一种 DRM?

【问题讨论】:

  • 您是否尝试拦截搜索按钮?为什么要将人们锁定在您的应用程序之外?什么是“它以某种方式关闭了我的对话框”?对话框在 Android 中运行良好。
  • 我的应用程序已经上市,但它还没有完成 - 我只在市场上出售它,因为这样更容易同时更新每个人。我让用户选择一个日期,如果日期不匹配,应用程序就会自行终止。但是,如果他们按下搜索,QSB 就会出现,它会以某种方式关闭对话框,而不会触发任何在关闭时侦听的对话框侦听器。

标签: android search


【解决方案1】:

您可以通过实现此功能并返回 false 来阻止对您的活动或对话框的搜索:

public boolean onSearchRequested() {
    return false;
}

更新:
代码也适用于对话框

【讨论】:

  • 我试过了,但遗憾的是它不起作用......至少在 2.1 上没有。我还没有机会在 2.3 上进行测试。
  • 怎么不行?你有例外吗?你用的是什么对话框?您是否在打开对话框的 Activity 上实现了该功能?
  • 我确实实现了...现在对话框消失了。 (似乎 eclair 处理这个略有不同,但在姜饼上它可以工作......但盒子仍然消失)
  • 你应该在你的对话框中实现这个方法。
  • 我在两者中都实现了它,但是我现在遇到了一个巨大的开关问题,试图让它显示(我有 2 个不同的对话框)......但如果它在什么时候有效,我会标记你的答案我得到它的工作:)
【解决方案2】:
  public boolean onKeyDown(int keyCode, KeyEvent event) {

                    if(keyCode==KeyEvent.KEYCODE_SEARCH  && event.getRepeatCount() == 0)
                    {
                        return true;
                    } 
                  else
                   {

                    return false;
                   }
                }

返回 true 表示我们正在处理搜索事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2011-01-13
    相关资源
    最近更新 更多