`

StartActivityForResult的使用

 
阅读更多

实现从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()`的工作原理、如何使用以及它在实际开发中的应用场景。 一、`startActivityForResult()`基本使用 1. 启动新Activity 使用`startActivityForResult()`启动新的...

    android开发教程之startActivityForResult使用方法

    以下是对`startActivityForResult()` 使用方法的详细说明: 1. **启动Activity并等待结果:** 当我们使用`startActivityForResult(Intent intent, int requestCode)` 启动一个新的Activity时,`intent` 参数是一个...

    StartActivityForResult

    下面将详细阐述`StartActivityForResult`的工作原理、使用方式以及常见问题。 ### 1. `StartActivityForResult`的基本用法 `StartActivityForResult`方法有两个参数:`Intent`和`int`。`Intent`用于指定要启动的...

    startActivityForResult过时.md

    startActivityForResult过时.md

    startActivityForResult的详细用法

    使用`startActivityForResult`启动另一个Activity时,我们通常会通过Intent对象来传递数据。Intent不仅用于启动Activity,还可以携带额外的数据。例如: ```java Intent intent = new Intent(this, ...

    简化 startActivityForResult 的使用1

    "简化 startActivityForResult 的使用" 在 Android 开发中,startActivityForResult 方法是一个非常常用的方法,它允许 Activity 或者 Fragment 启动另一个 Activity 并且可以获取到结果。但是,传统的使用方式存在...

    startActivityForResult的简单使用

    定义了4个Activity,主activity跳转到其他2个时附带String good,第二个在接收到数据后将String +"boy"后返回给主Activity并Toast;第三个在接收到数据后将String +"boy&girl"后返回给主Activity并Toast。...

    startActivityForResult intent 跳转相关的

    首先,`startActivityForResult()`的使用通常涉及两个Activity:发起请求的Activity(我们称之为父Activity)和被启动的Activity(子Activity)。当父Activity调用`startActivityForResult()`启动子Activity时,会...

    【android】的startActivityForResult

    - 使用`startActivityForResult`时,确保目标Activity的启动模式适合你的需求,如standard、singleTop、singleTask或singleInstance。 了解这些知识点后,开发者就能有效地在Android应用中实现Activity间的交互和...

    Android-一种startActivityForResult更简单流程

    另外,如果你的项目使用MVVM架构,可以考虑将`startActivityForResult()`的逻辑移到ViewModel中,通过LiveData或Kotlin协程的Channel实现响应式的结果传递。这样可以进一步提高代码的解耦和测试性。 总的来说,虽然...

    使用startActivityForResult得到通讯录联系人信息

    这里实现的效果是,点击a Activity后,屏幕会跳转到手机的通讯录,任意选择点击一个通讯录中的联系人,则从通讯录Activity跳回到a Activity并在a Activity上显示你刚才选择通讯录联系人的名字。

    startActivityForResult你所不知道的---Fragment

    然而,尽管`Activity`中的`startActivityForResult()`方法被广泛使用,但`Fragment`中的相应功能`startActivityForResult()`却常常被开发者忽视。这个方法在处理`Fragment`与`Activity`之间的交互,特别是数据返回时...

    startActivityForResult Demo

    这篇博客“startActivityForResult Demo”可能详细介绍了如何使用这个方法以及相关的实践案例。 `startActivityForResult`的工作原理是这样的:当一个Activity(我们称为启动Activity)调用`startActivityForResult...

    startActivityForResult+onActivityResult+setResult

    3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)

    Android-基于RxPermissions框架思想在使用startActivityForResult可以不重写onActivityResult回调

    这需要我们使用`Intent.createObservable()`方法,结合`subscribeOn`和`observeOn`来指定线程行为。例如: ```java Observable<Result> resultObservable = Intent.createObservable(context, new Func1, Result>()...

    StartActivityForResult小例子

    下面将详细阐述`StartActivityForResult`的工作原理、使用步骤以及一些注意事项。 ### 1. 工作原理 `StartActivityForResult`的工作流程如下: 1. 主Activity(启动者)调用`startActivityForResult`方法,传入被...

    Android之Intent通过startActivityForResult方法启动新Activity

    在Android应用开发中,`startActivityForResult()`是一个常用且重要的功能,熟练掌握其使用能有效提高用户体验和应用的可维护性。在实际项目中,结合具体的业务场景灵活运用,可以使应用的交互更加顺畅。

    startActivityForResult_demo

    下面将详细介绍`startActivityForResult`的工作原理和使用方法。 一、`startActivityForResult`的基本用法 1. 启动新活动:调用`startActivityForResult(Intent intent, int requestCode)`,其中`intent`参数是一...

    startActivityForResult用法详解

    在Android应用开发中,`startActivityForResult`是一个关键的方法,用于启动一个新的Activity并期待返回一个结果。这个方法常用于在不同Activity之间进行数据交互,比如获取用户的选择、处理权限请求等。在这个场景...

Global site tag (gtag.js) - Google Analytics