`

Android 数据传递-从Activity中返回数据

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

 

Ø案例一
 
package com.android.myintent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Main extends Activity {
	/** Called when the activity is first created. */
	private Button button;
	private final static int REQUESTCODE = 1;//返回的结果码
    private EditText one,two,result;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		button = (Button) this.findViewById(R.id.button);
		one = (EditText)this.findViewById(R.id.one);
		two = (EditText)this.findViewById(R.id.two);
		result = (EditText)this.findViewById(R.id.result);
		button.setOnClickListener(new View.OnClickListener() {
        
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				int a = Integer.parseInt(one.getText().toString());
				int b = Integer.parseInt(two.getText().toString());
				Intent intent = new Intent(Main.this, OtherActivity.class);
				intent.putExtra("a", a);
				intent.putExtra("b", b);
				//启动Intent
				startActivityForResult(intent, REQUESTCODE);// 表示可以返回结果
			}
		});
	}
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);
		if(resultCode==2){
			if(requestCode==REQUESTCODE){
				int three = data.getIntExtra("three", 0);
				result.setText(String.valueOf(three));
			}
		}
	}
}
 
 
package com.android.myintent;

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

public class OtherActivity extends Activity {

	private Button button;
	private TextView textView;
	private EditText editText;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
		button = (Button)this.findViewById(R.id.button2);
		textView = (TextView)this.findViewById(R.id.msg);
		editText = (EditText)this.findViewById(R.id.three);
		Intent intent = getIntent();
		int a = intent.getIntExtra("a", 0);
		int b = intent.getIntExtra("b", 0);
		textView.setText(a+" + "+b+" = "+" ? ");
		button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
			   Intent intent = new Intent();
			   int three = Integer.parseInt(editText.getText().toString());
			   intent.putExtra("three", three);
			   //通过Intent对象返回结果,setResult方法,
			   setResult(2, intent);
			   finish();//结束当前的Activity的生命周期。
			}
		});
	}
}
 
分享到:
评论

相关推荐

    Android 从Activity中返回数据

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

    android Activity之间的数据传递

    以不同方式实现了Activity之间的数据传递,并且当激活的activity在销毁时,主Activity可以得到返回的结果,适合初学者。

    【android编程】第七讲-android Activity

    Activity 返回数据8. 题目记录关于生命周期详见前面 2.Activity生命周期 1. 学习指导 本讲主要介绍了Android四大组件之首的Activity。 主要知识点: Activity的概念: Activity就是一个有界面的AndroidApp。 ...

    Android中两个Activity之间数据传递及返回问题

    本篇文章主要介绍了Android中两个Activity之间数据传递及返回问题,这里整理了详细的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    Android intent 传递对象以及返回刷新

    Android intent 传递对象以及返回刷新。这个demo简单实现了activity之间传递对象以及对象列表。activity返回时,带数据返回,以及刷新activity。欢迎下载源码。

    activity间数据的传递列表显示

    首先是Intent自定义数据的传送,之后银行账号的输入格式的控制,之后界面销毁时数据的返回,将跟新了的数据返回给上一层的activity

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    指尖疯Android4.4视频第13集:Activity

    从本集开始,我们将挥挥手告别之前的UI控件学习,进入一个全新的旅程。这段旅程是android开发学习之旅的核心... Activity的数据传递 4. Activity的数据返回 四个方面为大家带来activity全方位的介绍,敬请收看,谢谢!

    模拟数据传递.zip

    考试题目:数据传递测试 布局说明: 多个控件,TextView,EditText,Button, Button,提交数据。 EditText填写数据。 TextView显示标题 功能说明 两个Activity内完成,相应的控制和显示。 主界面中,...

    安卓应用之Activity数据传递

    使用startActivityForResult和onActivityResult的方法来启动Activity,发送数据以及接收数据返回。 使用onActivityResult中的形参,实现标准的处理流程。 代码中Tag,RequestCode,ResultCode能标记性数值,需要在...

    Android中进程之间通信的机制

    总结:跨进程访问Activity(访问其他应用程序中的Activity)主要是通过一个Action来完成的,如果要传递数据,还需要...如果要想从调用的Activity中返回数据,就需要使用startActivityForResult方法来启动Activity了。

    Android Activity的跳转与传值详解

    Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。  Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个...

    Android移动应用开发实验指导书.docx

    图1 程序运行初始化界面图2 点击图1中的按钮后的运行结果 3、使用Intent传递数据从SecondActivity返回数据到FirstActivity中去。编写代码,运行程序,预期效果如下所示。 图1 程序运行初始化界面图2 点击图1按钮...

    Android开发案例驱动教程 配套代码

    9.3.1 多个Activity之间数据传递 189 9.3.2 跳转与返回 192 9.3.3 任务与标志 196 9.4 Android系统内置Intent 199 本章小结 201 第10章 数据存储 203 10.1 健康助手案例 203 10.2 Android数据存储概述 205 ...

    Activity&Intent的使用-移动平台开发技术-gddrxy

    Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅指明当前组件想要执行的动作,还可以在不同组件之间传递数据。启动活动就可以用Intent。Intent可以分成两种:显示Intent和隐式Intent。当知道要跳转...

    Google Android SDK开发范例大全 源码

     3.11 返回数据到前一个Activity——startActivityForResult方法   3.12 具有交互功能的对话框——AlertDialog窗口   3.13 置换文字颜色的机关——Button与TextView的交互   3.14 控制不同的文字字体——...

Global site tag (gtag.js) - Google Analytics