美文网首页
TV端定义定义一个dialog, 监听返回键监听setOnKe

TV端定义定义一个dialog, 监听返回键监听setOnKe

作者: 啦啦啦rjq | 来源:发表于2018-08-24 16:14 被阅读0次

    使用场景:我的项目中登录完成之后,需要弹出一个dialog让用户完善信息,如果中途用户不想填写信息了(TV端操作比较不方便),按下返回键,在弹出一个提示dialog,提示用户是否退出,问题出在这里 ,按下返回键,会初始化两个提示dialog。


    原因: Android一次单击操作定义了两个事件,ACTION_DOWN和 ACTION_UP,即按下和松手两个动作。需要添加判断 if(event.getAction()==KeyEvent.ACTION_DOWN)或者if(event.getAction()==KeyEvent.ACTION_UP)


    完整判断:

    mDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {

                @Override            

                public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) {

     if(i==KeyEvent.KEYCODE_BACK && keyEvent.getAction()==KeyEvent.ACTION_DOWN){

                        warningsDialog = new WarningsDialog(mContext);

                         warningsDialog.setOnSureClick(new WarningsDialog.OnSureClick() {

                            @Override                       

                           public void OnSureClickListener() {

                                warningsDialog.dismiss();

                                mDialog.dismiss();

                            }

                        });

                        warningsDialog.show();

                        return false;

                    }else {

                        return true;

                    }

                }

            });

    提示:mDialog是我完善信息的dialog,WarningsDialog是我的提示dialog。

    相关文章

      网友评论

          本文标题:TV端定义定义一个dialog, 监听返回键监听setOnKe

          本文链接:https://www.haomeiwen.com/subject/xvfiiftx.html