Android两个Activity之间的数据交换

1. 不带数据

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        next=(Button)findViewById(R.id.next);
        next.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent();
                intent.setClass(MainActivity.this, Second.class);
                startActivity(intent);
            }
        });
    }

2. 第一个Activity中数据传给第二个Activity

发送端

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        next=(Button)findViewById(R.id.next);
        content=(EditText)findViewById(R.id.content);
        next.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String name=content.getText().toString();
                Intent intent=new Intent();
                intent.putExtra("name", name);
                //Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
                intent.setClass(MainActivity.this, Second.class);
                startActivity(intent); 
            }
        });
    }

接收端

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        name=(TextView)findViewById(R.id.name);
        age=(EditText)findViewById(R.id.age);
        back=(Button)findViewById(R.id.back);

        Intent intent=getIntent();
        String na=intent.getStringExtra("name");
        //Toast.makeText(Second.this, na, Toast.LENGTH_SHORT).show();
        name.setText(na);
    }

3. 第二个Activity把数据传给第一个Activity

第一个Activity

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        next=(Button)findViewById(R.id.next);
        content=(EditText)findViewById(R.id.content);
        next.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String name=content.getText().toString();
                Intent intent=new Intent();
                intent.putExtra("name", name);
                //Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
                intent.setClass(MainActivity.this, Second.class);
                startActivityForResult(intent, RESULT_CODE);   
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==RESULT_CODE){
            if(resultCode==Second.RESULT_CODE){
                Bundle bundle=data.getExtras();
                String con=bundle.getString("age");
                content.setText(con);
            }
        }

    }

第二个Activity

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        name=(TextView)findViewById(R.id.name);
        age=(EditText)findViewById(R.id.age);
        back=(Button)findViewById(R.id.back);
        back.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String a=age.getText().toString();
                Intent intent=new Intent();
                Bundle bundle=new Bundle();
                bundle.putString("age", a);
                intent.putExtras(bundle);
                setResult(RESULT_CODE, intent);
                finish();
            }
        });

        Intent intent=getIntent();
        String na=intent.getStringExtra("name");
        //Toast.makeText(Second.this, na, Toast.LENGTH_SHORT).show();
        name.setText(na);
    }
时间: 2024-12-22 11:44:16

Android两个Activity之间的数据交换的相关文章

Android中在两个Activity之间进行数据传递

首先声明,此篇文章是我原先的CSDN上面的博客,由于种种原因,不想再使用csdn博客,于是就将其文章搬至现在的cnblog. 大家好,今天我终于开通了自己的博客,很开心能和大家共同分享我的学习经验,希望我们可以共同进步哦,废话不多说了,看一下我今天学习android遇到的一些问题和解决办法吧 首先先把我使用的eclipse的版本贴出来:adt-bundle-windows-x86-20130917 这是一个集成的版本,不需要配置SDK和ADT,但是需要手动配置JDK哦! 其实,不同版本的ecli

两个Activity之间共享数据、互相访问的另一种方式的实现

本帖最后由 勇敢的心_ 于 2010-9-29 11:51 编辑本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可以直接访问其成员(字符.数值.成员对象等),并能调用其公开的方法,那应该比用Intent来传递数据直接方便的多,于是偿试了如下办法,测试基本没有问题,发出来大家讨论一下.本人学习android不久,幼稚的地方希望大家不要见笑原理:假设有两个Activity:ActivityMain 和 Activit

Android 两个Activity之间信息的交互

出处:http://blog.csdn.net/veryitman/article/details/6611138  感谢原文作者,整个逻辑很清楚,这备份下 多个 Activity 之间可以通过 Application 共享数据,在这里我就让两个 Activity 共享 Handler(更新UI,我一般使用 Handler),主 Activity 中更新 UI,另一个 Activity 发送更新UI的消息.这样就达到在主Activity更新UI的目的.好吧,具体看代码! 1. 主 Activit

Android学习之Activity之间的数据传递

Activity与Activity之间很多情况下都需要进行数据的传递,下面就用几个简单的例子来看一下. (一).一个Activity启动另一个Activity并将数据传递到这个Activity当中 思路:1.通过Intent进行数据的传递,Intent作为数据的载体.2.首先将要传递的数据放入到Intent当中.这里用到了Intent中的putExtra()方法,这个方法有一系列的重载.3.启动另一个Activity后将数据从Intent中取出来.这里用到了getStringExtra()方法,

Android开发之Activity之间的数据传递

通过putExtra设置值,通过getExtra获取值 putExtra需要设置键值对,getExtra通过对应的键获取传递的值(直接在getExtra之间加上想获取的值类型) 1.在一个Activity通过startActivityForResult()开启另一个Activity 2.该方法通常接收两个参数,第一个是Intent对象,第二个是requestCode 3.在第一个Activity中重写onActivityResult方法,通过switch判断传过来的requestCode(哪个A

两个activity之间的数据传递

1.清单文件第二个activity<activity android:name="com.example.twodatapass.ResultActivity" android:label="@string/app_name" > </activity>2.程序文件1)激活方String name = et_name.getText().toString().trim();if(TextUtils.isEmpty(name)){ Toast.

[转]Android:Activity+Fragment及它们之间的数据交换(一)

2014-05-18         来源:Android:Activity+Fragment及它们之间的数据交换(一)   简介: 为什么要用Fragment?使用Fragment可以在一个Activity中实现不同的界面.Fragment与 Fragment之间的动画切换,远比Activity与Activity之间的动画切换变化方式多.很多时候,我们通过使用一个Activity,切换 多个Fragment.本次博客,主要列举一下Fragment与它的Activity之间进行数据交换的方式.

Android:Activity+Fragment及它们之间的数据交换(一)

简介: 为什么要用Fragment?使用Fragment可以在一个Activity中实现不同的界面.Fragment与Fragment之间的动画切换,远比Activity与Activity之间的动画切换变化方式多.很多时候,我们通过使用一个Activity,切换多个Fragment.本次博客,主要列举一下Fragment与它的Activity之间进行数据交换的方式. 1.Fragment中通过getActivity()然后进行强制转化,调用Activity中的公有方法 ((XXXXActivit

Android中Activity之间的数据传递ngti

在开发中,我们经常涌用到Activity,那么既然用到了Activity,就一定免不了在两个Activity之间传递数据.这里我们先说一说原理,在看看代码和例子. 情况A:我们需要从Activity_1启动并传递数据到Activity_2,Activity_2只需要接收来自Activity_1 的数据,但并不用做其他操作. 情况B:我们需要从Activity_1 启动Activity_2,同时希望Activity_2在销毁的时候向Activity_1传递数据. 首先我们来说一说情况A. 情况A是