【问题标题】:How do I disable the Android back button during a popup?如何在弹出窗口中禁用 Android 后退按钮?
【发布时间】:2012-11-07 05:30:48
【问题描述】:

我知道如何禁用后退按钮,但不是在弹出窗口期间。

syncb=(Button) findViewById(R.id.SyncB);
syncb.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {
            final Dialog dialog = new Dialog(Scouting.this);
            dialog.setContentView(R.layout.popup);
            dialog.setTitle("Popups ftw");
            dialog.setCancelable(true);
            //I think I'd put the code here...
            Button button = (Button) dialog.findViewById(R.id.closePopup);
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    dialog.dismiss();
                }    
            });
            dialog.show();
        }
    });

我什么都试过了

@Override public void dialog.onBackPressed() { }

@Override dialog.onBackPressed({});

我找不到任何有用的东西。

编辑: 通常是

@Override public void onBackPressed(){}

而且它通常在主类中(不是“嵌套”),但由于我被挖了一点......我没有弄清楚(尝试,但没有成功)。

【问题讨论】:

标签: android popup back-button


【解决方案1】:

你试过了吗

dialog.setCancelable(false);

它适用于我的情况。

您将其设置为 true

dialog.setCancelable(true);

改一下

【讨论】:

  • 你知道,我不是那么糟糕的程序员,但有时我会犯非常愚蠢的错误。哈哈谢谢!我会在 4 分钟内检查你的答案(stackoverflow 现在不允许我这样做)
  • 好吧,既然我们在谈论“可取消”,那么“取消”弹出窗口和“关闭”弹出窗口有什么区别?
  • 取消对话框:您不想点击确定或取消按钮,或对话框的是/否按钮。只需返回您的应用程序。关闭对话框:您将点击是/否,将根据您的点击执行操作,然后关闭对话框
  • 有人试图用这个替代建议编辑这个答案:“或者只是覆盖下面的方法@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { Log.d("back", "back button pressed"); } return true; //to prevent this event from being propagated further. }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多