Activity 1:
公共(public)类 MainActivity 扩展 AppCompatActivity {
private EditText editOrt;
private EditText editPLZ;
private EditText editStrasse;
final int REQUEST_CODE = 111;
String adressdaten = "";
TextView abrufenn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editOrt = findViewById(R.id.editOrt);
editPLZ = findViewById(R.id.editPLZ);
editStrasse = findViewById(R.id.editStrasse);
}
public void startSecond(View view) {
Intent i = new Intent(this, SecondActivity.class);
String inputOrt = editOrt.getText().toString();
String inputPLZ = editPLZ.getText().toString();
String inputStrasse = editStrasse.getText().toString();
i.putExtra("Ort", inputOrt);
i.putExtra("PLZ", inputPLZ);
i.putExtra("Strasse", inputStrasse);
startActivityForResult(i, REQUEST_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
Bundle b = data.getExtras();
String backStrasse = (String) b.get("strasseback");
String backPLZ = (String) b.get("plzback");
String backOrt = (String) b.get("ortback");
adressdaten = " " + backStrasse + " " + backPLZ + " " + backOrt;
}
}
}
public void abrufen (View view) {
abrufenn = findViewById(R.id.textView5);
abrufenn.setText(adressdaten);
}
}
Activity 2:
公共(public)类 SecondActivity 扩展 AppCompatActivity {
private EditText editOrt2;
private EditText editPLZ2;
private EditText editStrasse2;
String ort, plz, strasse;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
editOrt2 = findViewById(R.id.editOrt2);
editPLZ2 = findViewById(R.id.editPLZ2);
editStrasse2 = findViewById(R.id.editStrasse2);
Intent intent = getIntent();
Bundle daten = intent.getExtras();
String ort = (String) daten.get("Ort");
String plz = (String) daten.get("PLZ");
String strasse = (String) daten.get("Strasse");
editOrt2.setText(ort);
editPLZ2.setText(plz);
editStrasse2.setText(strasse);
}
public void back(View view) {
Intent result = new Intent (this, MainActivity.class);
result.putExtra("strasseback", strasse);
result.putExtra("plzback", plz);
result.putExtra("ortback", ort);
setResult(Activity.RESULT_OK, result);
finish();
}
}
问题是方法“abrufen”中的按钮“abrufenn”仅显示“null null null”。我不知道为什么,但是数据没有从 Activity 2 传输到 Activity 1,感谢您的帮助! :)
最佳答案
无需将其等同于bundle。 尝试使用—— String backStrasse = data.getStringExtra("strasseback"); 如果问题仍未解决,请使用调试器或上传您的 xml 文件,以便更好地查看您的代码。
关于java - onActivityResult 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630153/