我想在两个活动之间传递一个字符串。我在其他项目中使用相同的方法完成了这项工作,但出于某种原因,当我调用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