点击确定按钮之后,app发生闪退

//这个是退出按钮的点击事件
public void onClick(View v) {
        switch (v.getId()){
            case R.id.more_loginButton:
                if (KeyConstants.LOGIN_IS){
                            dialogItem.setTvTitle("确定退出登录吗?");
                            dialog = new RateDialog(getContext() , R.style.MyDialog , dialogItem);
                            dialog.setMyClickListener(new RateDialog.onClickRateDialog() {
                                @Override
                                public void onClickRight() {
                                    dialog.dismiss();
                                }

                                @Override
                                public void onClickLeft() {
                                    s.clear();
                                    s.add(KeyConstants.USER_ITEM);
                                    s.add(KeyConstants.KEY_REG);
                                    s.add(KeyConstants.USER_PHOTO);
                                    s.add(KeyConstants.KEY_SINGLED);
                                    s.add(USER_NAME);
                                    SpUtils.removeCaChe(s);
                                    MyApplication.getCache().clear();
                                    Intent intent = new Intent(MyApplication.getContext(), WebsocketService2.class);
                                    MyApplication.getContext().stopService(intent);
                                    dialog.dismiss();
                                    mPresenter.setExit();

                                }
                            });
                            dialog.show();
                            dialogItem.setTvTitle("");
                            dialogItem.setTvContent("");
                        }else{
                            Intent intent = new Intent(getActivity(), LoginActivity.class);
                            intent.putExtra("login",LOGIN_SUCCESS_EXIT);
                            startActivityForResult(intent , LOGIN_SUCCESS_EXIT);
                        }
                        break;
                    default:
                        break;
                }
            }
//这个是RateDialog的相关代码

private void setCustomDialog(RateDialogItem data){
        if (data != null){
            View mView = LayoutInflater.from(getContext()).inflate(R.layout.dialog_alert,null);
            TextView tvTitle = mView.findViewById(R.id.dialog_tv);
            TextView tvContent = mView.findViewById(R.id.dialog_tv_content);
            Button negBtn = mView.findViewById(R.id.dialog_confirm);
            Button posBtn = mView.findViewById(R.id.dialog_cancel);

            tvTitle.setText(data.getTvTitle());
            if (!TextUtils.isEmpty(data.getTvContent())){
                tvContent.setVisibility(View.VISIBLE);
                tvContent.setText(data.getTvContent());
            }

            if(posBtn != null)
                posBtn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (onClickRateListener != null){
                            onClickRateListener.onClickRight();
                        }
                    }
                });

                if (negBtn !=null)
                    negBtn.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            if (onClickRateListener !=null)
                                onClickRateListener.onClickLeft();
                        }
                    });

            getWindow().setBackgroundDrawableResource(R.color.transparent);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            super.setContentView(mView);
        }
    }

 

 

错误显示 mPresenter.setExit(); 出现了空指针,排查一下mPresenter 是否实例化