第一次在这里发帖,对不起,如果我做错了(做错了吗?)。
我已经开发了几个星期的安卓应用程序,并决定向它添加用户协议/服务条款。我创建了一个名为 agreement.xml 的 xml,并找到了这段代码......
https://gist.github.com/slaypni/3817116 (我实际上在这里某个地方找到了它,但我找不到原版,这个非常相似,只是一个不同的类名。)
这对我来说非常有效,但我最近修改了一些调用它的代码并在新设备上进行了测试,但出现了一个奇怪的问题。
我通过...调用它
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);
紧跟在第一个块之后。我认为问题在于我用来将项目显示为弹出窗口的类,因为我之前有一些奇怪的空指针异常。目前没有错误或任何东西,代码运行并且周围的日志显示但按钮没有响应并且没有设置文本。
感谢您的任何帮助!
编辑:我删除了我的空检查,因为我认为这是问题的证据。在第二次调用时,它在弹出类的第 74 行出现空指针异常而崩溃。我觉得这是充气机的问题,但我真的不知道。