`

android_11 activityA调activityB,再返回activityA

 
阅读更多

ButtonDemoActivity(activityA)

在之前代码的基础上加这个

 

case R.id.btn_to_sec_return:
				intent = new Intent();
				intent.setClass(getApplicationContext(), ButtonDemoActivity2.class);
				intent.putExtra("back", "我是传递返回button的参数");
				startActivityForResult(intent, REQUEST_CODE);
				break;

 

activityA接收返回,需要重写:

//传递返回所需要的方法
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if(requestCode == REQUEST_CODE && resultCode == ButtonDemoActivity2.RESULT_CODE) {
			Toast t = Toast.makeText(getApplicationContext(), data.getStringExtra("back"), Toast.LENGTH_SHORT);
			t.show();
		}
	}

 

ButtonDemoActivity2(activityB)

package com.mhm.button.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class ButtonDemoActivity2 extends Activity {

	private TextView tv;
	
	private Button btn_save_2;
	
	private Button btn_back;
	
	private String str;
	
	public static final int RESULT_CODE = 1;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main2);
		//接收到activityA传递过来的参数
		Intent intent = getIntent();
		Bundle b = intent.getExtras();
		str = b.getString("str");
		tv = (TextView)findViewById(R.id.tv_sec);
		tv.setText(str);
		btn_save_2 = (Button)findViewById(R.id.save_sec);
		btn_save_2.setOnClickListener(listener);
		
		btn_back = (Button)findViewById(R.id.btn_back);
		btn_back.setOnClickListener(listener);
		
	}
	
	private OnClickListener listener = new OnClickListener() {
		public void onClick(View v) {
			Button b = (Button)v;
			switch (b.getId()) {
			case R.id.save_sec:
				Toast t = Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT);
				t.show();
				break;
				
			case R.id.btn_back:
				Intent intent = new Intent();
				System.out.println("back");
				intent.putExtra("back", "我是从B返回到A的值");
				setResult(RESULT_CODE, intent);
				//结束此activity,返回到activityA
				finish();
				break;

			default:
				break;
			}
		}
	};
	
}
 

 

 

 

 

分享到:
评论

相关推荐

    Android面试题-Activity A跳转Activity B,再按返回键,生命周期执行的顺序?

    Activity A跳转Activity B,再按返回键,A、B的生命周期执行顺序是什么? 当听到这个题目的时候,我得意地笑了笑,对于Activity的生命周期已经记熟的我,心想,为什么不直接问Activity的生命周期呢?于是想当然的说...

    android两个activity相互传值

    1. **使用回调(BroadcastReceiver)**:在`ActivityA`中注册一个BroadcastReceiver,然后在`ActivityB`完成操作后,发送一个Broadcast,`ActivityA`的BroadcastReceiver接收到消息后,可以更新自身状态。...

    Android 从Activity中返回数据

    在实际的应用中,我们不仅仅要向Activity传递数据,而且要从Activity中返回数据,虽然返回数据和传递数据类似,也可以采用前面4种方法,但是一般建议采用Intent对象的方式来返回数据,使用这种方式返回数据,需要...

    Android 打开Activity,获取其返回结果Demo

    当我们需要在不同的Activity之间传递数据或执行某种操作并等待结果时,就需要利用到Android的Intent机制来打开新的Activity,并通过startActivityForResult()方法来获取返回的结果。下面我们将详细探讨这个过程。 1...

    activity的回调

    例如,启动系统相机应用拍摄照片,Activity A启动Camera Activity (B),B拍摄完成后将图片URI放入Intent并返回,A通过onActivityResult()接收并显示图片。 通过熟练掌握Activity的回调机制,开发者可以灵活地控制...

    Android Activity学习笔记

    例如,当我们从Activity A跳转到Activity B时,Activity A的onPause方法将会被调用,而Activity B的onCreate、onStart、onResume方法将会被调用。 Activity生命周期交互设计思想 在Activity之间跳转时,为什么要先...

    Android源码——Activity设置相同的action进行判断源码_new_02.7z

    <activity android:name=".ActivityA"> <action android:name="com.example.SAME_ACTION" /> <data android:scheme="http" /> </activity> <activity android:name=".ActivityB"> <action android:name=...

    Android 实现两个Activity跳转实例

    例如,从Activity A跳转到Activity B,可以在Activity A中创建一个Intent实例,指定目标Activity(即Activity B)并启动它: ```java Intent intent = new Intent(A.this, B.class); startActivity(intent); ``...

    Android改变Activity切换效果

    这样,当你从Activity A切换到Activity B时,ImageView就会有一个平滑的过渡效果。 总的来说,自定义Activity切换效果能够极大地提升应用的视觉体验。通过创建和应用适当的动画资源,以及利用共享元素过渡,开发者...

    Beginning_Android_4_Application_Development

    - **附录A:使用Eclipse进行Android开发**:提供了关于如何使用Eclipse IDE进行Android开发的详细指导。 - **附录B:使用Android模拟器**:介绍如何设置和使用Android模拟器来测试应用。 - **附录C:练习题答案**:...

    activity跳转后关闭父activity

    假如说有一个activity A,在A中跳转到Activity B, 然后在B中... 首先有一个Activity A,A中有一个Button,点击这个Button会跳到Activity B中去,但会拿到一个返回值,如果返回的是RESULT_OK的话就把Activity A也关掉。

    android之activity跳转 窗口跳转

    例如,Activity A启动B,B启动C,当从C返回时,可能需要回到A而不是B,这就需要在启动C时设置FLAG_ACTIVITY_CLEAR_TOP标志,这样当C启动时,栈内的B会被销毁,C会与A处于同一栈级。 总结来说,Android中的Activity...

    AndroidTest.zip

    android中利用service和广播实现多个activity共享计时器 需要在activityA中开始计时,然后在activityB和activityC中操作,并且需要在Activity A、B、C中都要看到计时器

    android 获取上一个activity返回值的方法

    有时,我们需要在不同的Activity之间传递数据,例如从Activity B返回到Activity A时,可能需要将B中的某些信息带回A。本篇文章将详细讲解如何在Android中实现这一功能。 首先,为了能够从Activity B获取返回值,...

    Android_开机启动流程

    - **b)** 建立Socket以便接收`ActivityManagerService`的请求,用于Fork应用程序。 - **c)** 启动`SystemServer`。 #### 五、系统服务SystemServer **1. 源码位置** - `frameworks/base/services/java/...

    sms.zip_Source Cod_basic_basuc4android_sms_zip

    2. `.b4a` 文件:这是Basic4Android特有的源代码文件,包含了用Basic语法编写的代码。 3. `.xml` 文件:可能包含界面布局设计,如活动(Activity)布局、对话框(Dialog)布局或通知(Notification)配置。 4. `....

    Java4Android 16_this的使用方法

    在Java编程语言中,`this`关键字是一个非常重要的概念,尤其在开发Android应用时更为常见。`this`关键字主要用于引用当前对象的实例变量、方法或构造器,它可以帮助开发者更清晰地理解代码逻辑,同时也提供了代码的...

    Android带有返回值的finish(StartActivityForResult)

    Intent intent = new Intent(this, ActivityB.class); startActivityForResult(intent, REQ_CODE); // REQ_CODE是你自定义的请求码 ``` 2. **在第二个Activity中设置结果**: 在Activity B中,当用户完成某个...

    A_APP通过Uri调用B_APP(Uri含两个应用包)demo最新版

    完成授权后,B_APP可以通过回调Uri或Result API将结果返回给A_APP。 5. **回调与结果传递**:有两种方式可以让B_APP将结果传递回A_APP。一是使用`startActivityForResult()`启动B_APP,然后在B_APP中调用`setResult...

Global site tag (gtag.js) - Google Analytics