2015-09-06 41 views
0

我有一個非常奇怪的問題。 我知道如何使用PutExtra/getExtras將數據從意圖傳遞到另一個意圖。 當我想要獲得在兩個intents之間傳遞的數據時,它會得到NullPointerException。 我試圖通過傳遞一個包來實現,發生同樣的問題。 所以我試圖把它傳遞給另一個活動,它通過了! 爲什麼第一個活動無法檢索通過的數據?!無法從特定活動中獲取額外信息

+2

你能發表一些代碼嗎?這有很多可能的原因 – Jim

+0

使用Intent/Bundle從這兩個活動中發送/獲取數據的相關部分顯示 –

+0

您能否提供一些代碼? – MrWasdennnoch

回答

0

例子:

ActivityA:

Intent i = new Intent(this, ActivityB.class); 
i.putExtra("identifier", "some text"); 
startActivity(i); 

ActivityB:

Intent intent = getIntent(); 
String string = intent.getStringExtra("identifier"); //String because your extra is a String value 

你有沒有做過這樣的嗎?

0

這就是我所做的。

從IntentServiceClass:

NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 

    Intent intent = new Intent(context, class1); 
    intent.putExtra("test", "test"); 
    PendingIntent pendingIntent = PendingIntent.getActivity (context, 0, intent, 0); 

從活動課:

String test = getIntent().getExtras().getString("test"); 

它會導致空指針異常

試驗多次後,我創建了一個新的活動和複製/粘貼相同的代碼,它的工作! 所以我問,爲什麼它沒有與第一類工作?