2013-02-05 123 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只有當它們通過時