`
xitong
  • 浏览: 6193971 次
文章分类
社区版块
存档分类
最新评论

android 使用Intent传递数据之返回结果

 
阅读更多

我们开发应用时,不仅仅需要传递数据给其他activity,也要从其他activity中返回数据。

返回数据,我们一般采用Intent对象的方式来返回数据,采用这种方式,需要使用startActivityForResult方法来显式Activity,并且需要重写onActivityResult方法。


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

public class MainActivity extends Activity {
	private final int REQUESTCODE=1;//返回的结果码
	private EditText one,two,three;
	private Button button;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        button = (Button)findViewById(R.id.button);
        one = (EditText)findViewById(R.id.one);
        two = (EditText)findViewById(R.id.two);
        three=(EditText)findViewById(R.id.three);
        
        
        
        button.setOnClickListener(new OnClickListener() {
			
			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(MainActivity.this,OtherActivity.class);
				intent.putExtra("a", a);
				intent.putExtra("b", b);
				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 request = data.getIntExtra("three", 0);//接收返回数据
    			three.setText(String.valueOf(request));
    		}
    	}
    	
    }
    
}
启动intent时,使用startActivityForResult方法重写onActivityResult方法

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;
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)findViewById(R.id.obutton);
		textview = (TextView)findViewById(R.id.msg);
		edittext = (EditText)findViewById(R.id.result);
		
		Intent intent = getIntent();
		int a = intent.getIntExtra("a", 0);
		int b = intent.getIntExtra("b", 0);
		
		textview.setText(a+" + "+b+" =   ?");
		
		
		button.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				// TODO Auto-generated method stub
				int request = Integer.parseInt(edittext.getText().toString());
				Intent intent = new Intent();
				intent.putExtra("three", request);
				//通过Intent对象返回结果,调用setResult方法
				setResult(2,intent);
				finish();//结束当前的activity的生命周期
			}
		});
	}
}

/在另外一个activity中声明一个新的intent的,调用intent对象的setResult方法,并调用finish方法结束activity的生命周期。



分享到:
评论

相关推荐

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

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

    Android 从Activity中返回数据

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

    Android页面之间进行数据回传的方法分析

    本文实例讲述了Android页面之间进行数据回传的方法。分享给大家供大家参考,具体如下: ...//将Bundle添加到Intent,也可以在Bundle中添加相应数据传递给下个页面,例如:bundle.putString(abc, bbb); startActivit

    ZhaoLizz#Android-Notes#利用Intent在活动间传递数据1

    1.(有数据传递的)活动的最佳启动方式: 2.向上一个活动返回数据 1. Serializable方式

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

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

    Basic_Android_App:这是一项编程练习,目的是使您熟悉基本的Android概念,更加精通Android Studio,练习使用Intent进行Activity转换以及练习在Intents上传递和返回数据

    Basic_Android_App 这是一项编程练习,目的是使您熟悉基本的Android概念,更加精通Android Studio,练习使用Intent进行Activity转换以及练习在Intent上传递和返回数据。

    Android Intent实现页面跳转的两种方法

    本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下 下图中两个不同的方法就是两种页面之间跳转的情况 1).跳转不返回数据 2).跳转返回数据 实例: 第一种启动方式(跳转不返回数据) ...

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

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

    有返回结果的页面跳转

    Intent作为四大组件之间传递数据的信使很重要。一般在Activity页面跳转之间有两种方式,一种是直接通过startActivity的方式跳转,不会返回数据;另一种是通过startActivityForResult的方式跳转到另一个页面,也会...

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

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

    疯狂Android讲义源码

     4.1.5 启动其他Activity并返回结果 185  4.2 Activity的回调机制 189  4.3 Activity的生命周期 190  4.3.1 Activity的生命周期演示 190  4.3.2 Activity与Servlet的相似性与  区别 194  4.4 本章小结 195  ...

    activity间数据的传递列表显示

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

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

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

    3.3 使用Android SDK帮助 23 3.3.1 Android SDK API文档 23 3.3.2 Android SDK开发指南 24 3.3.3 Android SDK samples 24 3.4 使用DDMS帮助调试程序 26 3.4.1 启动DDMS 26 3.4.2 Device 28 3.4.3 Emulator ...

    Google Android SDK开发范例大全 源码

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

    Android中进程之间通信的机制

    总结:跨进程访问Activity(访问其他应用程序中...当然,传递数据也可以通过Intent来完成。传递数据的过程可以是双向的。如果要想从调用的Activity中返回数据,就需要使用startActivityForResult方法来启动Activity了。

    Android开发应用实战详解源代码

    3.11 将数据返回到前一个activity 3.12 对话框交互处理 3.13 文字颜色置换 3.14 文字字体设置 3.15 拖动相片特效 3.16 简易计算器 3.17 about信息 3.18 加载中的程序 3.19 选择对话框 3.20 主题变换 3.21 小结 第4章...

Global site tag (gtag.js) - Google Analytics