Java 为什么在将字符串的ArrayList从一个活动传递到另一个活动时会出现空指针异常?

Java 为什么在将字符串的ArrayList从一个活动传递到另一个活动时会出现空指针异常?,java,android,arraylist,startactivityforresult,Java,Android,Arraylist,Startactivityforresult,我正在尝试从UpdateLocation活动获取ScanLocate活动中的arraylist 我正在使用startActivityForResult方法调用scan方法来填充ArrayListwifiList,然后我想将ArrayList发送到更新位置类 我首先调用更新位置中的startActivityForResult: private void getScan(){ //Create an intent to start ScanLocate final Intent i

我正在尝试从
UpdateLocation
活动获取
ScanLocate
活动中的arraylist

我正在使用
startActivityForResult
方法调用
scan
方法来填充ArrayList
wifiList
,然后我想将ArrayList发送到
更新位置

我首先调用
更新位置中的
startActivityForResult

private void getScan(){
    //Create an intent to start ScanLocate
    final Intent i = new Intent(this, ScanLocate.class);
    //Start scanLocate with request code
    startActivityForResult(i, REQUEST_READINGS);
}
接下来,在
ScanLocate
中,我创建了
sendData
方法(注意:检查确认ArrayList数据在该点完好无损):

最后一部分返回到
UpdateLocation
,带有
onActivityResult

    @Override
        public void onActivityResult(int requestCode, int resultCode, Intent readings){
    super.onActivityResult(requestCode, resultCode, readings);

    //check if request code matches the one set above
    if(requestCode == REQUEST_READINGS){

        //check if sendData() in ScanLocate was successful
        if(resultCode == RESULT_OK){
            //get the readings from the Intent
            Log.v(TAG, "HERE");
            result = getIntent().getExtras().getStringArrayList(ScanLocate.key);
            Log.v(TAG, "HERE2");

            for(String s : result) {
                Log.v(TAG, "Location 5: " + s);
            }
        }else{
            //ScanLocate was unsuccessful
        }
    }
}
第一个
“Here”
会显示出来,但是它会落在下一行,
getStringArrayList()
抛出一个空指针异常

我已经浏览了文档和前面的问题,看不出哪里出了问题

如有任何建议,将不胜感激,谢谢

以前的问题:


您不需要调用
getIntent()
,使用方法提供的参数:

result = readings.getStringArrayListExtra(ScanLocate.key);

您不需要调用
getIntent()
,使用方法提供的参数:

result = readings.getStringArrayListExtra(ScanLocate.key);

您是否使用调试器工具对此进行了调试?您可以使用
reads.putStringArrayList(key,wifiList)不需要捆绑。
意图读数
。不要使用
getIntent()
而是使用
readings
。移除捆绑包并使用
readings.putStringArrayListExtra(key,wifiList)
以及
readings.getStringArrayListExtra(ScanLocate.key)
解决它。谢谢你能用调试器工具调试吗?你可以使用
reads.putStringArrayList(key,wifiList)不需要捆绑。
意图读数
。不要使用
getIntent()
而是使用
readings
。移除捆绑包并使用
readings.putStringArrayListExtra(key,wifiList)
以及
readings.getStringArrayListExtra(ScanLocate.key)
解决它。谢谢