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

一、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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值