从Activity中返回数据
从Activity中返回数据
一、简介
这里也就是使用intent方式返回数据。
二、具体步骤
在MainActivity通过一个button访问Activity01页面,然后将Activity01页面的数据返回到MainActivity页面。
调用Activity页面:MainActivity
被调用页面:Activity01
接收值页面:MainActivity
传值页面:Activity01
1、将调用页面的startActivity方法换成startActivityForResult,用于接收数据
startActivityForResult(intent, 0);
2、在传值页面用intent.putExtra方法将值传过来,然后关闭页面
Intent intent=new Intent();
intent.putExtra("phoneNumber",tv_phoneNum.getText());
setResult(0, intent);
finish();
3、在接收值页面重写onActivityResult方法用于接收数据
Bundle bundle=data.getExtras();
String phoneNumber=bundle.getString("phoneNumber");
et_phoneNumber.setText(phoneNumber);
说明:
Activity01调用完finish()方法销毁之后,就会调用MainActivity的onActivityResult方法,
去看finish的方法说明就好,就在eclipse代码里面看,点finish()方法
三、代码实例
结果图:
代码:
activityReturnData.MainActivity
package activityReturnData; import com.example.activityReturnData.R; 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.EditText; public class MainActivity extends Activity{
private Button btn_chooseContacter;//创建一个button对象
private EditText et_phoneNumber;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//父类操作
setContentView(R.layout.activity_main);//引入名为activity_main的界面
btn_chooseContacter=(Button) findViewById(R.id.btn_chooseContacter);//找id为btn_openActivity的button
et_phoneNumber=(EditText) findViewById(R.id.et_phoneNum);
btn_chooseContacter.setOnClickListener(new OnClickListener() {//设置button点击监听 @Override
public void onClick(View v) {//onclick事件
// TODO Auto-generated method stub
Intent intent=new Intent(MainActivity.this,Activity01.class);//初始化intent
//请求码:resultCode
startActivityForResult(intent, 0);
}
});
}
/*
* Activity01调用完finish()方法销毁之后,就会调用MainActivity的onActivityResult方法
* 因为Activity01完成后会返回调用它的方法
* (non-Javadoc)
* @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
//就是如果没有传值回来的情况,直接return就ok了
if(data==null) return;
Bundle bundle=data.getExtras();
String phoneNumber=bundle.getString("phoneNumber");
et_phoneNumber.setText(phoneNumber);
}
}
activityReturnData.Activity01
package activityReturnData; import com.example.activityReturnData.R; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView; public class Activity01 extends Activity{
private TextView tv_phoneNum;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity01);
tv_phoneNum=(TextView) findViewById(R.id.tv_phoneNum);
tv_phoneNum.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.putExtra("phoneNumber",tv_phoneNum.getText());
//resultCode,结果码
setResult(0, intent);
finish();
}
});
}
}
/activityReturnData/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activityReturnData"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="activityReturnData.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="activityReturnData.Activity01" android:exported="true"></activity>
</application> </manifest>
从Activity中返回数据的更多相关文章
- 【Android 复习】:从Activity中返回数据
在实际的应用中,我们不仅仅要向Activity传递数据,而且要从Activity中返回数据,虽然返回数据和传递类似,也可以采用上一讲中的四种方式来传递数据,但是一般建议采用Intent对象的方式的来返 ...
- Android笔记——Activity中的数据传递案例(用户注冊)
1.创建程序activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro ...
- android中返回数据给上一个活动,可以用来回显数据
(一)who简介:没错,就是startActivityForResult()方法,这个方法用来在活动被销毁的时候返回数据给上一个方法.参数说明: startActivityForResult(inte ...
- Ajax中返回数据的格式
Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过Ajax对象的response ...
- Controller中返回数据总结(ResponseEntity,@ResponseBody,@ResponseStatus)
在传统的开发过程中,我们的控制CONTROLLER层通常需要转向一个JSP视图:但随着WEB2.0相关技术的崛起,我们很多时候只需要返回数据即可,而不是一个JSP页面. ResponseEntity: ...
- 使用Bundle在Activity中交换数据
大概过程 编写demo activity_main.xml <?xml version="1.0" encoding="utf-8"?> <R ...
- android中使用Intent在activity之间传递数据
android中intent传递数据的简单使用: 1.使用intent传递数据: 首先将需要传递的数据放入到intent中 Intent intent = new Intent(MainActivit ...
- Android Activity之间的数据传递
1.向目标Activity传递数据: Intent intent=new Intent(this,Main2Activity.class); //可传递多种类型的数据 intent.putExtra( ...
- Android笔记(二十) Activity中的跳转和值传递
我们知道,一个APP是由若干个Activity组成的,那么各个Acitivity中肯定需要进行跳转以及传递数值以保证App的运行,现总结一下多个Activity之间的跳转和值传递. 显式Intent跳 ...
随机推荐
- 解决:IDEA unable to import maven project see logs for details问题+java http请求报java.net.SocketException: Permission denied:connect 问题
背景:用IDEA写了一个java发送http请求的maven项目. 运行时,项目报java.net.SocketException: Permission denied:connect问题: 修改po ...
- 《深入理解Linux网络技术内幕》阅读笔记 --- 路由基本概念
一.路由的基本概念 1.一条路由就是一组参数,这些参数存储了往一个给定目的地转发流量所需的信息,而一条路由所需的最少的参数集合为:(1)目的网络,(2)出口设备,(3)下一跳网关 2.路由中的相关术语 ...
- mysql按时间查询(年/月/日)
0.创建表sql语句查询 mysql> show create table byzp_personinfo; CREATE TABLE `byzp_personinfo` ( `id` int( ...
- 基本数据类型补充、set集合、深浅拷贝
一.基本数据类型补充 1,关于int和str在之前的学习中已经介绍了80%以上了,现在再补充一个字符串的基本操作 str.join(可迭代对象): li = ['李嘉诚','何炅','海峰','刘嘉玲 ...
- (转)Android工程出现 java.lang.NoClassDefFoundError错误解决方法
在Eclipse中,导入Android工程,工程没有报错,运行时,出现 java.lang.NoClassDefFoundError类没有找到的错误.从问题上可以看出是导入包出错的原因.遂百度加谷歌. ...
- PyNest——part 3: connecting networks with synapses
part 3: connecting networks with synapses parameterising synapse models NEST提供了各种不同的突触模型. 您可以使用命令nes ...
- const,var,let区别(转载)
1.const定义的变量不可以修改,而且必须初始化. const b = 2;//正确 // const b;//错误,必须初始化 console.log('函数外const定义b:' + b);// ...
- corethink功能模块探索开发(十四)后台编辑按钮
效果图: 1.添加下图55&58行代码 2.实现edit方法 位于Equip/Admin/DeviceRepaireAdmin.class.php中 public function edit( ...
- web前端编码规范
简要介绍 本文通过参考百度腾讯等前端编码规范(链接建文末),得出个人习惯的编码规范.个人编码规范采用在不影响可读性的情况下能省就省,尽量简洁,不需要就直接去掉. 最佳原则不管是个人编码规范还是团队编码 ...
- 用Tchromium替代webbrowser提交网页表单有关问题
用Tchromium替代webbrowser提交网页表单有关问题 提交表单时,使用js脚本,然后用 chrm.browser.Frame['ff'].ExecuteJavaScript 提交就可以 ...