实现从Activity1打开Activity2。当Activity2关闭的时候,我们需要它返回一些数据给Activity1
1.Activity1:
private int REQUEST_CODE = 0;
//启动Activity2
rlSettingIcon.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(Activity1.this, Activity2.class);
startActivityForResult(intent, REQUEST_CODE);//REQUEST_CODE
是一个必须大于或等于0的整数,不知道为什么...
}
});
//从Activity2返回的时候,靠这个方法接收数据
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
System.out.println("onActivityResult------------");
if(requestCode == REQUEST_CODE)
{
if(resultCode == RESULT_OK)
{
Bundle extras = data.getExtras();
if (extras != null)
{
if(extras.getString("name").equals(""))//设置姓名
{
tvName.setText("未命名");
}
else
{
tvName.setText(extras.getString("name"));
}
}
}
2.Activity2
btnOk.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putString("name", etName.getHint().toString());
Intent intent = new Intent();
intent.putExtras(bundle);//用Intent保存对象
setResult(RESULT_OK, intent);
finish();
}
});
分享到:
相关推荐
在本篇中,我们将深入探讨`startActivityForResult()`的工作原理、如何使用以及它在实际开发中的应用场景。 一、`startActivityForResult()`基本使用 1. 启动新Activity 使用`startActivityForResult()`启动新的...
以下是对`startActivityForResult()` 使用方法的详细说明: 1. **启动Activity并等待结果:** 当我们使用`startActivityForResult(Intent intent, int requestCode)` 启动一个新的Activity时,`intent` 参数是一个...
下面将详细阐述`StartActivityForResult`的工作原理、使用方式以及常见问题。 ### 1. `StartActivityForResult`的基本用法 `StartActivityForResult`方法有两个参数:`Intent`和`int`。`Intent`用于指定要启动的...
startActivityForResult过时.md
使用`startActivityForResult`启动另一个Activity时,我们通常会通过Intent对象来传递数据。Intent不仅用于启动Activity,还可以携带额外的数据。例如: ```java Intent intent = new Intent(this, ...
"简化 startActivityForResult 的使用" 在 Android 开发中,startActivityForResult 方法是一个非常常用的方法,它允许 Activity 或者 Fragment 启动另一个 Activity 并且可以获取到结果。但是,传统的使用方式存在...
定义了4个Activity,主activity跳转到其他2个时附带String good,第二个在接收到数据后将String +"boy"后返回给主Activity并Toast;第三个在接收到数据后将String +"boy&girl"后返回给主Activity并Toast。...
首先,`startActivityForResult()`的使用通常涉及两个Activity:发起请求的Activity(我们称之为父Activity)和被启动的Activity(子Activity)。当父Activity调用`startActivityForResult()`启动子Activity时,会...
- 使用`startActivityForResult`时,确保目标Activity的启动模式适合你的需求,如standard、singleTop、singleTask或singleInstance。 了解这些知识点后,开发者就能有效地在Android应用中实现Activity间的交互和...
另外,如果你的项目使用MVVM架构,可以考虑将`startActivityForResult()`的逻辑移到ViewModel中,通过LiveData或Kotlin协程的Channel实现响应式的结果传递。这样可以进一步提高代码的解耦和测试性。 总的来说,虽然...
这里实现的效果是,点击a Activity后,屏幕会跳转到手机的通讯录,任意选择点击一个通讯录中的联系人,则从通讯录Activity跳回到a Activity并在a Activity上显示你刚才选择通讯录联系人的名字。
然而,尽管`Activity`中的`startActivityForResult()`方法被广泛使用,但`Fragment`中的相应功能`startActivityForResult()`却常常被开发者忽视。这个方法在处理`Fragment`与`Activity`之间的交互,特别是数据返回时...
这篇博客“startActivityForResult Demo”可能详细介绍了如何使用这个方法以及相关的实践案例。 `startActivityForResult`的工作原理是这样的:当一个Activity(我们称为启动Activity)调用`startActivityForResult...
3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)
这需要我们使用`Intent.createObservable()`方法,结合`subscribeOn`和`observeOn`来指定线程行为。例如: ```java Observable<Result> resultObservable = Intent.createObservable(context, new Func1, Result>()...
下面将详细阐述`StartActivityForResult`的工作原理、使用步骤以及一些注意事项。 ### 1. 工作原理 `StartActivityForResult`的工作流程如下: 1. 主Activity(启动者)调用`startActivityForResult`方法,传入被...
在Android应用开发中,`startActivityForResult()`是一个常用且重要的功能,熟练掌握其使用能有效提高用户体验和应用的可维护性。在实际项目中,结合具体的业务场景灵活运用,可以使应用的交互更加顺畅。
下面将详细介绍`startActivityForResult`的工作原理和使用方法。 一、`startActivityForResult`的基本用法 1. 启动新活动:调用`startActivityForResult(Intent intent, int requestCode)`,其中`intent`参数是一...
在Android应用开发中,`startActivityForResult`是一个关键的方法,用于启动一个新的Activity并期待返回一个结果。这个方法常用于在不同Activity之间进行数据交互,比如获取用户的选择、处理权限请求等。在这个场景...