2013-02-05 119 views
0

我传递一个字符串从活动到另一个活动,它的工作,但如果我尝试打开该活动,而没有经过串它抛出一个空指针异常,请Assit空指针异常的Android

Bundle gotBasket = getIntent().getExtras(); 
    gotPassenger= gotBasket.getString("passenger"); 
    gotStaffNumber= gotBasket.getString("clientcode"); 
    etPassenger.setText(""+ gotPassenger); 
    etStaffNumber.setText("" + gotStaffNumber); 
+0

你在哪里得到空指针异常。发布一些更多的细节。 – Raj

+0

解决方案下面Thanks1 – Weru

回答

5

如果我尝试打开该活动,而没有经过串它抛出一个空指针异常

权,监守你没有发送任何数据

检查gotBasket是NULL分配

这样前:

Bundle gotBasket = getIntent().getExtras(); 
if(gotBasket != null){ 
    gotPassenger= gotBasket.getString("passenger"); 
    gotStaffNumber= gotBasket.getString("clientcode"); 
    etPassenger.setText(""+ gotPassenger); 
    etStaffNumber.setText("" + gotStaffNumber); 
} 
+0

谢谢效果很好! – Weru

2

相反的:

Bundle gotBasket = getIntent().getExtras(); 

更好地利用这一点:

if(getIntent().hasExtras("passenger")){ 
//get Extras here 
} 

这样的话,你不会获得NPE as你只尝试获得Bundle Extras只有当它们通过时