AfterYoung 2021-05-08 19:56 采纳率: 81.8%
浏览 63
已采纳

点击确定按钮之后,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);
        }
    }

 

  • 写回答

1条回答 默认 最新

  • knight康康 2021-05-09 16:51
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害