两个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
代码如下:
@Override protected 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();