android应用程序中的java.lang.NullPointerException。

android应用程序中的java.lang.NullPointerException。,java,android,nullpointerexception,Java,Android,Nullpointerexception,我试图用ArrayList中的信息填充一个“Runners”数组,但得到了一个空指针异常。我已经打印出了arraylist和Runner数组的大小,它们是应该的大小 --我只包含了我认为解决问题所必需的代码,如果需要更多,请发表评论 private Runner r[]; private EditText runnerName,trackLength,raceDistance; private ArrayList<String> runners = new ArrayList&

我试图用ArrayList中的信息填充一个“Runners”数组,但得到了一个空指针异常。我已经打印出了arraylist和Runner数组的大小,它们是应该的大小

--我只包含了我认为解决问题所必需的代码,如果需要更多,请发表评论

 private Runner r[];
 private EditText runnerName,trackLength,raceDistance;
 private ArrayList<String> runners = new ArrayList<String>();

 public void onClickSetRunner(View v){
    runners.add(runnerName.getText().toString());
    runnerName.setText("");
}

 public void onClickFinish(View v){         
    r = new Runner[runners.size()];     
    int i =0;       
    for(String name : runners){             
        r[i].setFirst(name);
        i++;
    }


}

在使用runnerName之前初始化它

 runnerName.setText("");
    runners.add(runnerName.getText().toString());

在使用runnerName之前初始化它

 runnerName.setText("");
    runners.add(runnerName.getText().toString());

在使用runnerName之前初始化它

 runnerName.setText("");
    runners.add(runnerName.getText().toString());

在使用runnerName之前初始化它

 runnerName.setText("");
    runners.add(runnerName.getText().toString());

您实际上还没有初始化
r[i]

r = new Runner[runners.size()];     
int i =0;       
for(String name : runners){             
    r[i].setFirst(name);
您有一个数组或
Runner
s,但默认情况下数组中的每个条目都是
null
。加

r[i] = new Runner();

初始化一个条目。

您实际上还没有初始化
r[i]

r = new Runner[runners.size()];     
int i =0;       
for(String name : runners){             
    r[i].setFirst(name);
您有一个数组或
Runner
s,但默认情况下数组中的每个条目都是
null
。加

r[i] = new Runner();

初始化一个条目。

您实际上还没有初始化
r[i]

r = new Runner[runners.size()];     
int i =0;       
for(String name : runners){             
    r[i].setFirst(name);
您有一个数组或
Runner
s,但默认情况下数组中的每个条目都是
null
。加

r[i] = new Runner();

初始化一个条目。

您实际上还没有初始化
r[i]

r = new Runner[runners.size()];     
int i =0;       
for(String name : runners){             
    r[i].setFirst(name);
您有一个数组或
Runner
s,但默认情况下数组中的每个条目都是
null
。加

r[i] = new Runner();

在那里初始化一个条目。

您在
onClickFinish
中创建了一个新的运行程序数组。但是,您没有在数组中创建新的运行程序对象,因此
r[i]
为空。

您在
onClickFinish
中创建了一个新的运行程序数组。但是,您没有在数组中创建新的运行程序对象,因此
r[i]
为空。

您在
onClickFinish
中创建了一个新的运行程序数组。但是,您没有在数组中创建新的运行程序对象,因此
r[i]
为空。

您在
onClickFinish
中创建了一个新的运行程序数组。但是,您没有在数组中创建新的Runner对象,因此
r[i]
为空。

这一行有什么内容?MainActivity.java:99如果这就是我们需要的全部代码,那么您还没有初始化
runnerName
EditText。在初始化数组
r
之后,所有元素都是
null
。如果您试图调用一个对象的方法,而该对象为
null
,则会导致异常。这一行有什么内容?MainActivity.java:99如果这就是我们需要的全部代码,那么您还没有初始化
runnerName
EditText。在初始化数组
r
之后,所有元素都是
null
。如果您试图调用一个对象的方法,而该对象为
null
,则会导致异常。这一行有什么内容?MainActivity.java:99如果这就是我们需要的全部代码,那么您还没有初始化
runnerName
EditText。在初始化数组
r
之后,所有元素都是
null
。如果您试图调用一个对象的方法,而该对象为
null
,则会导致异常。这一行有什么内容?MainActivity.java:99如果这就是我们需要的全部代码,那么您还没有初始化
runnerName
EditText。在初始化数组
r
之后,所有元素都是
null
。如果试图调用对象的方法,该方法为
null
,则会导致异常。