我曾经putExtra()把一些数据从一个活动传递给另一个活动.我想创建一个Parcelable实例,但我得到一个null对象.
这是第一个活动的代码:
i = new Intent(Activity1.this, Activity2.class);
i.putExtra(com.login_app.Activity1.extra, "100");
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
这是第二个活动的代码:
Intent inew = getIntent();
Bundle icicle1 = inew.getExtras();
// this is just a debug code
System.out.println(
icicle1.getSerializable(com.login_app.Activity1.extra).toString());
Parcelable p = inew.getParcelableExtra(com.login_app.Activity1.extra);
Run Code Online (Sandbox Code Playgroud)
这里对象p是一个空对象.
请告诉我,如果我错了或者我需要添加别的东西.我希望将此Parcelable对象展平为Parcel对象.
那是因为你已经投入String,但试图获得Parcelable.你应该使用getStringExtra.
另外,从Bundle文档中[getParcelable()][1]可以看出(这个函数实际上是从Intent包中获得额外的):
返回与给定键关联的值,如果给定键不存在所需类型的映射,或者null值与键明确关联,则返回null.
所以你基本上得到null因为你有类型不匹配.
| 归档时间: |
|
| 查看次数: |
2089 次 |
| 最近记录: |