codenameone - cn1 - 尝试在空对象引用上调用虚拟方法“boolean java.util.ArrayList.add(java.lang.Object)”
问题描述
我抛出了一个错误,我无法弄清楚它是如何发生的。它不会一直发生,而是偶尔发生。抛出的错误消息是“Java.lang.nullPointerException:尝试在空对象引用上调用虚拟方法'boolean java.util.ArrayList.add(java.lang.Object)'”。我已经使用 connectionRequest 来解析 json 数据。抛出错误时,我检查了 url 中是否存在问题,但它一如既往地提供了正确的 json 数据。尝试几次后,错误自动解决。
if (!regNOField.getText().equals("") && !newPasswordField.getText().equals("")) {
ArrayList<Map<String, String>> argumentsArrayList = new ArrayList<>();
Map argumentMap1 = new HashMap();
argumentMap1.put("argument", "reg_no");
argumentMap1.put("value", regNOField.getText().trim());
argumentsArrayList.add(argumentMap1);
Map argumentMap2 = new HashMap();
argumentMap2.put("argument", "token");
argumentMap2.put("value", newPasswordField.getText().trim());
argumentsArrayList.add(argumentMap2);
CommonMethod.connectionMethod(res, true, url, "Verification", argumentsArrayList, true, null);
}
CommonMethod.connectionMethod:
public static void connectionMethod(Resources res, Boolean postBoolean, String urlString, String form, ArrayList<Map<String, String>> arguments,
Boolean ipFlag, String extraData) {
ConnectionRequest cr = new ConnectionRequest() {
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser jp = new JSONParser();
parser = jp.parseJSON(new InputStreamReader(input));
response = null;
if (parser != null && !parser.isEmpty()) {
if (parser.get("status").equals("true")) {
message = (String) parser.get("data");
ToastBar.getInstance().setPosition(Component.TOP);
ToastBar.showErrorMessage(message, 5000);
if (form.equals("Verification")) {
if (d != null) {
d.dispose();
}
new LoginAndSignUp(res, message).show();
}
}
}
}
@Override
protected void handleErrorResponseCode(int code, String message) {
System.out.println("login ErrorResponseCode " + code + "msg: " + message);
}
@Override
protected void handleException(Exception err) {
System.out.println("login Exception " + err);
}
@Override
protected void handleIOException(IOException err) {
System.out.println("login IOException " + err);
}
@Override
protected void handleRuntimeException(RuntimeException err) {
System.out.println("RuntimeException " + err);
}
};
cr.setPost(postBoolean);
cr.setUrl(urlString);
cr.setTimeout(80000);
if (arguments != null && !postBoolean.equals(false)) {
for (Map<String, String> entrySet : arguments) {
String argument1 = (String) entrySet.get("argument");
String value1 = (String) entrySet.get("value");
cr.addArgument(argument1, value1);
}
}
InfiniteProgress ip = new InfiniteProgress();
d = ip.showInifiniteBlocking();
cr.setDisposeOnCompletion(d);
cr.addRequestHeader("accept", "application/json");
NetworkManager.getInstance().addToQueueAndWait(cr);
}
错误信息:
解决方案
推荐阅读
- ios - Sharing two image and two text in UIActivityViewController is not working properlly
- php - Laravel Page is not working on Image upload
- powerbi - How to show dates on axis in Stacked Bar chart in Power BI?
- c# - PdfSharpCore image rendering issue
- mysql - 哪个 AWS 产品适用于 Spring MVC 移动应用程序后端?
- jquery - 在 foreach 循环中使用时,Jquery 代码仅对第一个元素起作用
- python - for循环运行时间内的if语句
- vue.js - 如果找不到路由,Vue.js如何重定向到公共路由
- google-apps-script - 在 GAS 中使用语言环境字符串方法显示逗号分隔的数字
- javascript - 根据属性值jquery重新排列选择optgroup标签