1

好的,所以我在对话框中有一个自定义视图,但它的 onKeyDown 永远不会被调用。我也尝试过 onKeyPreIme 但没有用,并且将对话框的 setCancelable 设置为 true 也无济于事。

编辑 :

//Removed all unnecessary code

public class CustomView extends LinearLayout
{    

    @Override
    public boolean onKeyDown (int keyCode, KeyEvent event)
    {
            if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
            {           
                   //do stuff here
                    return true;

            }    
            return super.onKeyDown(keyCode, event);         
    }
}
public class CustomDialog
{
    Dialog dialog;
    public class CustomDialog(Context context)
    {
         dialog = new Dialog(context);
         dialog.setContentView(R.layout.test);// the test.xml has CustomView

    }

}
4

2 回答 2

1

你为什么不简单地使用:

public void onBackPressed() {
       //desired functionality here 
       return;
    }
于 2012-05-13T06:36:36.400 回答
0

将您的onKeyDown逻辑移动到一个OnKeyListener实现并将其注册到您的视图的构造函数中。

于 2012-05-13T06:35:21.633 回答