Java 我无法将视图显示为ToS的弹出窗口

Java 我无法将视图显示为ToS的弹出窗口,java,android,Java,Android,第一篇文章在这里,对不起,如果我(做了什么?)错了 我已经开发了几个星期的android应用程序,并决定在其中添加一个用户协议/服务条款。我创建了一个名为agreement.xml的xml,并找到了以下代码 (实际上我在这里的某个地方找到了它,但我找不到原始的,这一个非常相似,只是一个不同的类名。) 这在一段时间内非常适合我,但我最近修改了一点调用它的代码,并在新设备上进行了测试,出现了一个奇怪的问题 我通过 View licenseView = View.inflate(UI, R.layo

第一篇文章在这里,对不起,如果我(做了什么?)错了

我已经开发了几个星期的android应用程序,并决定在其中添加一个用户协议/服务条款。我创建了一个名为agreement.xml的xml,并找到了以下代码

(实际上我在这里的某个地方找到了它,但我找不到原始的,这一个非常相似,只是一个不同的类名。)

这在一段时间内非常适合我,但我最近修改了一点调用它的代码,并在新设备上进行了测试,出现了一个奇怪的问题

我通过

View licenseView = View.inflate(UI, R.layout.agreement, null);

PopUpView ToS = new PopUpView(UI, licenseView);
ToS.show();
我在第一次执行应用程序时运行一次代码(并更改一些内容,如按钮文本和可见性),以收集一些用户信息。然后,在完成显示新下载的协议的所有操作后,我再次调用它。第二次出现以下代码都不起作用

checkboxAcceptLicense = (CheckBox)UI.findViewById(R.id.checkLicenseAgreement);
textviewLicense = (TextView)UI.findViewById(R.id.textviewLicenseAgreement);

textviewLicense.setText(agreement);

buttonOK= (Button)UI.findViewById(R.id.buttonOK);
buttonCancel = (Button)UI.findViewById(R.id.buttonCancel);
etName = (EditText)UI.findViewById(R.id.etName);
etNumber = (EditText)UI.findViewById(R.id.etNumber);            

etName.setText(prefs.getString("Name", null));
etNumber.setText(prefs.getString("Number", null));

buttonCancel.setOnClickListener(cancel);
buttonOK.setOnClickListener(accept);
紧接着第一个街区。我假设问题出在我用来将项目显示为弹出窗口的类上,因为我以前遇到过一些奇怪的空指针异常。目前没有任何错误或任何东西,代码运行并显示周围的日志,但是按钮没有响应,文本没有设置

谢谢你的帮助


编辑:我删除了空检查,因为我认为这是问题的证据。在第二次调用时,它在popup类的第74行出现nullpointerexception崩溃。我觉得这是充气机的问题,但我真的没有任何线索。

您可以尝试创建一个对话框,它带有肯定和否定按钮(确定/取消)


还有一个内容区,您可以根据需要自定义。请查看此对话框。您可以尝试创建一个对话框,它带有肯定和否定按钮(确定/取消)


还有一个您可以根据需要定制的内容区域,请查看这个

效果很好。我必须玩一点,才能让它像我需要的那样显示出来,但我不认为你可以在对话框中包含我需要的所有内容,谢谢!关于那件事。。我仍然希望有人告诉我以前的方法有什么问题。我不喜欢不知道发生了什么,以防万一我再次遇到它。我必须玩一点,才能让它像我需要的那样显示出来,但我不认为你可以在对话框中包含我需要的所有内容,谢谢!关于那件事。。我仍然希望有人告诉我以前的方法有什么问题。我不喜欢不知道发生了什么,以防万一我再次遇到它