gpt4 book ai didi

android - 如何将值从一个 Activity 传递到上一个 Activity

转载 作者:IT老高 更新时间:2023-10-28 13:05:49 24 4
gpt4 key购买 nike

如何将值从一个屏幕传递到其前一个屏幕?

考虑这种情况:我有两个 Activity 。第一个屏幕有一个 TextView 和一个按钮,第二个 Activity 有一个 EditText 和一个按钮。

如果我点击第一个按钮,那么它必须移动到第二个 Activity ,用户必须在文本框中输入一些内容。如果他从第二个屏幕按下按钮,那么文本框中的值应该移动到第一个 Activity ,并且应该显示在第一个 Activity TextView 中。

最佳答案

要在另一个 Activity 中捕获对一个 Activity 执行的操作,需要三个步骤。

使用主 Activity 中的 startActivityForResult 将辅助 Activity(您的“编辑文本”Activity)作为子Activity 启动。

Intent i = new Intent(this,TextEntryActivity.class);    
startActivityForResult(i, STATIC_INTEGER_VALUE);

在子 Activity 中,您需要创建一个新的 Intent 并将输入的文本值包含在其附加包中,而不仅仅是在用户单击按钮时关闭 Activity。在调用 finish 之前将其传递回父调用 setResult 以关闭辅助 Activity。

Intent resultIntent = new Intent();
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, enteredTextValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();

最后一步是调用Activity:重写onActivityResult来监听来自文本输入Activity的回调。从返回的 Intent 中获取额外内容以获取您应该显示的文本值。

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (STATIC_INTEGER_VALUE) : {
if (resultCode == Activity.RESULT_OK) {
String newText = data.getStringExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
// TODO Update your TextView.
}
break;
}
}
}

关于android - 如何将值从一个 Activity 传递到上一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1124548/

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