android TV中AlertDialog设置按键监听方法和禁止按键监听属性

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:37   1588   0

一、AlterDialog设置禁止监听返回键属性:

1.首先看一下AlterDialog的官方介绍:


alertdialog extends dialog, 我们看源码的api会有这两个方法:
/**
     * Sets whether this dialog is cancelable with the
     * {@link KeyEvent#KEYCODE_BACK BACK} key.
     */
    public void setCancelable(boolean flag) {
        mCancelable = flag;
    }
【注释已经说明了:是否屏蔽KEYCODE_BACK键】

serCancleable(true): 表示不关闭KEYCODE_BACK。

二、设置onKeyListener监听:
/**
     * Sets the callback that will be called if a key is dispatched to the dialog.
     */
    public void setOnKeyListener(final OnKeyListener onKeyListener) {
        mOnKeyListener = onKeyListener;
    }
【这是对key的监听方法】

例如:
alertdialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
                @Override
                public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
                    if (keyCode == KeyEvent.KEYCODE_BACK){
                        alertdialog.dismiss();
                        this.Context.finish();
                        return true;
                    }
                    return false;
                }
            });
【这里监听了KEYCODE_BACK: 关闭当前dialog】

【一般情况,KEYCODE_BACK返回键自动弹出当前Activity栈中的最上面的Activity。】

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP