我想在兩個活動之間傳遞一個字符串。我在其他項目中使用相同的方法完成了這項工作,但出於某種原因,當我調用intent.getStringExtra(String)時,我得到一個NullPointerException異常。我也嘗試通過Android getIntent()。getExtras()返回null
Bundle b = getIntent().getExtras();
創建一個套件,但也返回null。以下是我目前正在嘗試使用的代碼。
活動答:
Intent myIntent = null;
String select = "";
if (selection.equals("Chandelle")) {
myIntent = new Intent(Commercial.this, Chandelle.class);
select = "Chandelle";
} else if (selection.equals("Eights on Pylons")) {
myIntent = new Intent(Commercial.this, EightsOnPylons.class);
select = "Eights on Pylons";
}
// Start the activity
if (myIntent != null) {
myIntent.putExtra("selection", select);
Log.d("*** OUTBOUND INTENT: ", "" + myIntent.getExtras().get("selection"));
startActivity(myIntent);
}
下面是b活動,試圖拉額外的代碼:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
if (i == null)
Log.d("***DEBUG****", "Intent was null");
else
Log.d("**** DEBUG ***", "Intent OK");
String MANEUVER_ID = i.getStringExtra("selection"); //Exception points to this line
Log.d("*** DEBUG", rec + " " + MANEUVER_ID);
我已經試過幾乎路過羣衆演員的每一個替代方式,但他們都似乎表現得這樣。我錯過了什麼?
你是如何解決這個問題的? – aProgrammer 2012-05-08 10:07:34
另一個解決方案:getExtras()。get(「sharedString」) – fungusanthrax 2016-08-26 23:16:30