2013-05-12 20 views
0

我把臨時演員,意圖從服務的活動這樣無法獲得額外的一個活動

Intent intent = new Intent(this, anc.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.putExtra("abc", 100); 
... 
startActivity(intent); 

活動A

Bundle extras = getIntent().getExtras(); 
String abc = extras.getString("abc"); 

當我調試這程序,我可以看到bundle有額外的功能,但我不能將它分配給String不知道爲什麼? 我也嘗試了android:launchMode="standard"活動A。

我知道我必須犯一個很小的錯誤,但我根本沒有去解決這個問題。

回答

3

因爲你要做到這一點:

intent.putExtra("abc", "100"); 

,如果你想獲得一個字符串。不要忘記這些報價: 「...」

也可參考此鏈接:Android Intent Put Extra

+0

額外傳遞正常的。但不分配給字符串。我通過調試進行檢查。 – 2013-05-12 12:11:21

+0

正如我所說的你試圖用extras.getString();並把它的INT價值,這就是爲什麼你無法得到它。當你把它們用於引號**(「」)** – 2013-05-12 12:12:21

+0

是的,它們以整數形式傳遞:intent.putExtra(「abc」,100); 100是一個整數在這裏。如果你真的想把它作爲一個字符串操作,你需要使用「100」來代替。請注意,如果您只需要一個int值,則不需要將其轉換爲字符串。 – Teovald 2013-05-12 12:13:01

0

你應該使用:

intent.putExtra("abc", String.valueOf(100)); 
+0

這樣做和使用第一個答案中建議的「100」之間有什麼區別? – 2013-05-12 12:31:14

+0

然後你可以在這裏使用一個整數變量 – Bolton 2013-05-12 12:34:26

相關問題