Android中Activity跳转过程中的反向传值
来源:互联网 发布:网络世界大战视频 编辑:程序博客网 时间:2024/05/17 09:15
在Android编程中,我们有时会遇到一种业务是,由AActivity跳转到BActivity,在BActivity销毁时,BActivity中的相关数据会传到AActivity中
Android中Activity跳转过程中的反向传值:
如何实现?
由AActivity启动BActivity,然后再BActivity
finish()之后,把相关的数据回传给AActivity.
并且在AActivity中执行后续操作.1>
AActivity:
启动BActivity需要使用下列方法:
startActivityForResult(intent)2>
BActivity:
执行完业务,finish时,调用下列方法给AActivity回传数据:
setResult(intent)3>
在AActivity中重写父类的方法:
onActivityResult(),一旦BActivity销毁,那么
将会自动执行onActivityResult方法,并且获取
BActivity回传的intent对象.
下面我们就用一个小的Dome具体介绍一下吧
activity_main.xml 布局中代码如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.androd_text_dome.MainActivity" > <EditText android:id="@+id/et1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/btn_get" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="doClick" android:layout_below="@+id/et1" android:layout_centerHorizontal="true" android:text="获取数据" /></RelativeLayout>
效果如图所示
activity_second.xml中布局如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.androd_text_dome.SecondActivity" > <TextView android:id="@+id/tv_content" android:onClick="doClick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="你好,我是你想要 的数据哦" /></RelativeLayout>
如图所示
MainActivity中代码如下
package com.example.androd_text_dome;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity { private EditText etContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控制 etContent =(EditText) findViewById(R.id.et1); } public void doClick(View view){ switch (view.getId()) { case R.id.btn_get: Intent intent = new Intent(this, SecondActivity.class); int requestCode = 101;//请求码,可以随意写,只要和OnActivityResult中的请求码想对应就行 startActivityForResult(intent , requestCode); break; default: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case 101: if(resultCode == Activity.RESULT_OK){ String content = data.getStringExtra("content"); etContent.setText(content); } break; } }}
SecondActivity代码如下
package com.example.androd_text_dome;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;public class SecondActivity extends Activity { private TextView tvContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); tvContent = (TextView) findViewById(R.id.tv_content); tvContent.setClickable(true); } public void doClick(View view){ Intent data = new Intent(); data.putExtra("content", tvContent.getText().toString()); setResult(Activity.RESULT_OK, data); finish(); }}
SecondActivity销毁之后,将会自动执行onActivityResult方法,并且获取
SecondActivity回传的intent对象.
点击按钮得到的结果如图所示
0 0
- Android中Activity跳转过程中的反向传值
- Android中的activity跳转新activity以及相互传值
- Android -- 生命周期(activity跳转过程中的生命周期)
- Android中Activity跳转
- android--Activity跳转传值
- android 中 多个Activity 的跳转 与传值
- Android中实现activity的页面跳转并传值
- Android中Activity之间的跳转与传值
- android-Activity跳转 界面传值 Activity跳转模式整理
- android中的activity跳转动画
- Android中Activity跳转问题
- android中Activity的跳转
- Android中Activity跳转问题
- Android中Activity的跳转
- Android 中 Activity的跳转
- Android 多Activity之间跳转传值
- Android Activity之间跳转与传值
- android activity进行跳转和传值
- Spring各jar包的作用
- Leetcode题解 226. Invert Binary Tree
- 第十六周项目 电子词典
- 一个省市县三级联动的回显(带数据库)
- Git II: 操作远程Repository基础
- Android中Activity跳转过程中的反向传值
- APP数据分析的常用指标
- 不一样的webService 简单实例
- java中Date类和Calendar类对日期的操作
- Android之粗仿微信6.0——微信6.0的欢迎界面
- leetcode题解日练--2016.6.16
- MongoDB复制集自适应oplog管理
- Base64和Md加解密
- 第十六周项目 用文件保存的学生名单