gpt4 book ai didi

java - 无 Intent 的刷新 Activity

转载 作者:行者123 更新时间:2023-12-01 09:57:02 25 4
gpt4 key购买 nike

我有 3 项 Activity 。 Intent 从 Activity 1 传递到 Activity 2,其中包含一些用于数据库事务的数据。 Activity 2 中的数据和 Intent 被传递到 Activity 3。

现在,我想从 Activity 3 转移到 Activity 2,但当 Activity 2 从 Activity 1 获取 Intent 时,它会返回一些错误,导致 null 异常:/

因此,我想在从 Activity 3 返回时刷新 Activity 2,但没有 Intent 或正确使用不会影响数据的 Intent

最佳答案

从 Activity1 启动 Activity2:

Intent i = new Intent(this,  Activity2.class);
startActivityForResult(i, 1);

在 Activity2 中使用 setResult 发送回数据:

Intent intent = new Intent();
intent.putExtra("edittextvalue","value_here")
setResult(RESULT_OK, intent);
finish();

并在第一个 Activity 中接收数据作为 onActivityResult:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String stredittext=data.getStringExtra("edittextvalue");
}
}
}

你可以用这个在 Activity 2中,

@Override
public void onBackPressed() {
String data = mEditText.getText();
Intent intent = new Intent();
intent.putExtra("MyData", data);
setResult(resultcode, intent);
}

Activity 1中,

onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK) {
String myStr=data.getStringExtra("MyData");
mTextView.setText(myStr);
}
}
}

您可以使用SharedPreferences也用于在 Activity 之间共享数据

关于java - 无 Intent 的刷新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37122942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com