Android 重写默认backkeys函数时出现问题
在我的应用程序中,我覆盖了android的backkey默认功能(通过覆盖onkeydown)。它可以正常工作。但当微调器组件默认选择元素窗口和虚拟键盘(在android 1.5中)进入屏幕时,默认backkey功能因我的覆盖而崩溃Android 重写默认backkeys函数时出现问题,android,Android,在我的应用程序中,我覆盖了android的backkey默认功能(通过覆盖onkeydown)。它可以正常工作。但当微调器组件默认选择元素窗口和虚拟键盘(在android 1.5中)进入屏幕时,默认backkey功能因我的覆盖而崩溃 有没有办法解决这个问题?或者virtualkeypadwindow和微调器组件窗口的名称是什么?谢谢 问题是,当屏幕上有一个实际上是完全独立的活动时,对话框帮助程序会对您隐藏它。只有两种方法可以解决这个问题(取决于您试图做什么) 您可以扩展正在使用的对话框类型,并在
有没有办法解决这个问题?或者virtualkeypadwindow和微调器组件窗口的名称是什么?谢谢 问题是,当屏幕上有一个实际上是完全独立的活动时,对话框帮助程序会对您隐藏它。只有两种方法可以解决这个问题(取决于您试图做什么) 您可以扩展正在使用的对话框类型,并在派生类中重写onKeyPress,然后使用它代替系统的默认对话框
public class MyDialog extends ProgressDialog {
/* ... */
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// handle the keypress
return true;
}
return false;
}
}
您可以使用Cancelable选项启动对话框,然后捕获cancel操作。。。比如:
public class MyActivity implements OnCancelListener {
/* ... */
public void startDialog() {
ProgressDialog pd = ProgressDialog.show(
MyActivity.this, // Context
"Progress Title", // title for dialog
"Progress Message", // message for dialog
true, // indeterminate?
true, // cancellable?
this // onCancelListener()
);
}
@Override
public void onCancel(DialogInterface dialog) {
// the user canceled out of the load dialog (hit the 'back' button)... do something here
}
}
指导我完成我的问题…1.进度对话框2.虚拟键盘3.微调器组件的/AlertDialog我们如何知道此类对话框是以尖叫的方式打开的,是否有任何可能的方式以编程方式执行这些操作?