0

onアクティビティから別のアクティビティに文字列を渡していますが、動作していますが、文字列を渡さずにアクティビティを開こうとすると、Nullポインタ例外がスローされます。KindlyAssit

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

2 に答える 2

5

文字列を渡さずにアクティビティを開こうとすると、Null ポインター例外がスローされます

そうです、データを送信していないためです

割り当てる前にgotBasket がNULLかどうかを確認します

このような:

Bundle gotBasket = getIntent().getExtras();
if(gotBasket != null){
    gotPassenger= gotBasket.getString("passenger");
    gotStaffNumber= gotBasket.getString("clientcode");
    etPassenger.setText(""+ gotPassenger );
    etStaffNumber.setText("" + gotStaffNumber);
}
于 2013-02-05T06:02:02.833 に答える
2

それ以外の:

Bundle gotBasket = getIntent().getExtras();

これを使用することをお勧めします:

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

そうすれば、合格した場合にのみバンドル エクストラを取得しようとするため、NPEを取得することはありません。

于 2013-02-05T06:03:10.637 に答える