如何将值从一个活动传递到上一个活动如何将值从一个屏幕传递到其上一个屏幕?考虑这种情况:我有两个活动。第一个屏幕有一个TextView按钮,第二个活动有一个EditText按钮。如果我单击第一个按钮,则必须移至第二个活动,此处用户必须在文本框中键入内容。如果他按下第二个屏幕上的按钮,则文本框中的值应移至第一个活动,并应显示在第一个活动中TextView。
3 回答
![?](http://img1.sycdn.imooc.com/5333a1d100010c2602000200-100-100.jpg)
繁星淼淼
TA贡献1775条经验 获得超11个赞
捕获在另一个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; } } }
![?](http://img1.sycdn.imooc.com/5458655200013d9802200220-100-100.jpg)
料青山看我应如是
TA贡献1772条经验 获得超8个赞
你没必要..
只需从第二个活动调用newIntenet()
Intent retData=new Intent();
添加数据以传回
putExtras (retData.putExtra("userName", getUsrName()));
继续使用setResult
setResult(RESULT_OK, retData);
然后可以完成
finish();
- 3 回答
- 0 关注
- 297 浏览
添加回答
举报
0/150
提交
取消