代码之家  ›  专栏  ›  技术社区  ›  Samuh

按手机上的“搜索”键时,ProgressDialog消失

  •  3
  • Samuh  · 技术社区  · 14 年前

    问题是,当下载正在进行并且ProgressDialog显示时,如果用户按下设备上的“search”按钮,ProgressDialog就会消失。后台线程仍在运行。

    是什么导致这种行为?如何避免这种情况?

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Community CDub    8 年前

    这应该可以解决这个问题(注意我把它放在对话框生成器上):

    .setOnKeyListener(new DialogInterface.OnKeyListener() {
    
        @Override
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) {
                return true; // Pretend we processed it
            }
            return false; // Any other keys are still processed as normal
        }
    })
    

    也许它甚至可以抓住积极和消极的按钮按下,和 只有

    附言:我读到有更多的“洞”在对话框中,也就是说,你可以摆脱它不点击任何按钮在对话框本身。这显然是一个。有人知道其他人吗?

    PS2:这似乎是重复的 Prevent ProgressDialog from being dismissed when I click the search button (Android)