猿问

如何将值从一个活动传递到上一个活动

如何将值从一个活动传递到上一个活动

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

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

如果我单击第一个按钮,则必须移至第二个活动,此处用户必须在文本框中键入内容。如果他按下第二个屏幕上的按钮,则文本框中的值应移至第一个活动,并应显示在第一个活动中TextView


翻过高山走不出你
浏览 298回答 3
3回答

繁星淼淼

捕获在另一个Activity中执行的操作需要三个步骤。通过使用startActivityForResult主Activity,启动辅助活动(您的“编辑文本”活动)作为子活动。Intent i = new Intent(this,TextEntryActivity.class);    startActivityForResult(i, STATIC_INTEGER_VALUE);在子活动中,不是在用户单击按钮时关闭活动,而是需要创建新的Intent并在其extras包中包含输入的文本值。setResult在调用finish关闭辅助Activity 之前将其传递回父调用。Intent resultIntent = new Intent();resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, enteredTextValue);setResult(Activity.RESULT_OK, resultIntent);finish();最后一步是在调用Activity:Override 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;      }    } }

料青山看我应如是

你没必要..只需从第二个活动调用newIntenet()Intent retData=new Intent();添加数据以传回putExtras (retData.putExtra("userName", getUsrName()));继续使用setResultsetResult(RESULT_OK, retData);然后可以完成finish();
随时随地看视频慕课网APP

相关分类

Android
我要回答