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
方法来填充ArrayListwifiList
,然后我想将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)
解决它。谢谢