Java 构造函数调用中的NullPointerException
我正在编写一个android应用程序,我遇到了一个问题。 该应用程序使用双重连接列表。一个活动创建一个记录,并在单击按钮save时调用一个方法,该方法通过列表的add方法传递创建的记录。 它只在第一次工作,然后抛出一个NullPointerException调用List节点的构造函数。 这个错误只发生在安卓系统中,在pc机上运行良好。 下面是代码和抛出的异常Java 构造函数调用中的NullPointerException,java,android,android-studio,gradle,nullpointerexception,Java,Android,Android Studio,Gradle,Nullpointerexception,我正在编写一个android应用程序,我遇到了一个问题。 该应用程序使用双重连接列表。一个活动创建一个记录,并在单击按钮save时调用一个方法,该方法通过列表的add方法传递创建的记录。 它只在第一次工作,然后抛出一个NullPointerException调用List节点的构造函数。 这个错误只发生在安卓系统中,在pc机上运行良好。 下面是代码和抛出的异常 public boolean add(Object data) { boolean control = false; tr
public boolean add(Object data) {
boolean control = false;
try {
if (isEmpty()) {
ListNode newNode = new ListNode(data);
setFirstNode(newNode);
setCurrentNode(newNode);
incrementNumberOfNodes();
control = true;
}
else {
ListNode newNode = new ListNode(data, currentNode.getNextNode(), currentNode);
if (currentNode.getNextNode() != null) {
currentNode.getNextNode().setPreviousNode(newNode);
}
currentNode.setNextNode(newNode);
currentNode = newNode;
incrementNumberOfNodes();
control = true;
}
} catch (NullPointerException e) {
System.err.println(e);
}
return control;
}
public void save(View v){
String action = getIntent().getAction();
if(action.compareTo(GlobalVariables.ACTION_NEW) == 0) {
newRecord();
System.out.println("Save finish with new Record");
}
}
private void newRecord(){
EditText title = (EditText) findViewById(R.id.title);
EditText password = (EditText) findViewById(R.id.password);
int key = GlobalVariables.firstFreePosition();
Record newRecord = new Record(key,title.getText().toString());
newRecord.setPassword(password.getText().toString());
System.out.printf("RECORD CREATO: %s\n", newRecord);
// Aggiungo il record alla lista
boolean control = GlobalVariables.recordsList.add(newRecord);
System.out.println("New Record = " + control);
}
以下是施工人员:
protected ListNode(Object data, ListNode nextNode, ListNode previousNode){
setData(data);
setNextNode(nextNode);
setPreviousNode(previousNode);
}
下面是一个例外(list.java的第120行是list节点construction的调用):
请帮帮我。
谢谢。请添加实际的相关代码@JerryF我希望您没有使用扩展ListNodeActivity@bcsb1001我确信我传递给add方法的记录不是空的,因为我在传递给add之前已经尝试过戳。@Marcelo您想看哪段代码?
09-09 21:27:39.711 19605-19605/cf.portaChiavi E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
Caused by: java.lang.NullPointerException
at cf.list.List.add(List.java:120)
at cf.portaChiavi.NewRecord.newRecord(NewRecord.java:161)
at cf.portaChiavi.NewRecord.save(NewRecord.java:90)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)