Android开发时Activity之间传送对象Bundle为null的问题

来源:互联网 发布:如何做好数据 编辑:程序博客网 时间:2024/06/05 09:54

两个Activity之间传值,获得Bundle时为null,报错如下

java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.Serializable android.os.Bundle.getSerializable(java.lang.String)' on a null object reference

代码如下:

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if(data!=null) {        if (requestCode == 1) {            Intent intent=getIntent();            Bundle bundle = intent.getExtras();            //UserBean            UserBean userBean=(UserBean)bundle.getSerializable("UserBean");            this.tv_username.setText(userBean.getNickName());            this.tv_userType.setText(userBean.getName());            SharedPreferences sharedPreferences = getSharedPreferences("user", Context.MODE_PRIVATE);            SharedPreferences.Editor editor = sharedPreferences.edit();            editor.putString("username",userBean.getName());            editor.putString("nickname",userBean.getNickName());            editor.putString("password", "password");            editor.putString("id", userBean.getId());            editor.putBoolean("isRemember", true);            editor.commit();        }    }}
问题是Intent 不能用getIntent()的值进行Bundle操作了
 Intent intent=getIntent(); Bundle bundle = intent.getExtras();
把代码改为通过data获取Bundle:
Bundle bundle=data.getExtras();


阅读全文
0 0
原创粉丝点击