在写关于登录注册界面之间的调转时遇到了Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.Ch
arSequence)' on a null object reference,空指针报错问题。可以选择尝试下面的解决办法。
1.在注册类的代码中,在得到输入的数据并传给登录界面之后需要需要finish一下。
btn_sign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name=tv_name.getText().toString();
String tel=tv_tel.getText().toString();
String pwd=tv_pwd.getText().toString();
Intent data =new Intent();
data.putExtra("name",name);
data.putExtra("tel",tel);
data.putExtra("pwd",pwd);
setResult(0,data);
Toast.makeText(getApplicationContext(),"注册成功",Toast.LENGTH_LONG).show();
finish();
}
});
2.将MainActivity的加载模式改成standard或者singleTop。在AndroidManifest中添加launchMode。
<activity android:name=".Register" android:launchMode="singleTop">
</activity>
<activity android:name=".MainActivity" android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
3.检查代码中startActivityForResult的第二个参数值及setResult的值,让其大于等于0。
4.检查控件的id值,是否是不同控件设置了相同的值。