dialogfragment监听返回键

在dialogfragment中使用onkeydown方法是无法监听返回键的,正确方法是令dialogfragment继承DialogInterface.OnKeyListener接口,重写onkey事件即可:

public class MyFragment extends DialogFragment implements DialogInterface.OnKetListener{
    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_BACK){
            dismiss();
            return true;
        }else {
            //这里注意当不是返回键时需将事件扩散,否则无法处理其他点击事件
            return false;
        }
    }

}

你可能感兴趣的:(Android)