首页 > 其他 > 详细

2016.02.20 学习笔记 数据在Activity之间的传递的情况

时间:2016-02-20 22:58:47      阅读:360      评论:0      收藏:0      [点我收藏+]

情况一:一个Activity跳转到另一个Activity时,将第一个Activity的数据传递到第二个Activity里面.

           分析:当一个界面跳转到另一个界面的同时还要讲数据传递过去,这种情况需要用Intent类putExtra()方法实现.

    具体在Onclick方法中的样例代码如下:

技术分享
Intent i1=new Intent(this,SecondActivity.class);
            String Message=Edit1.getText().toString();
            i1.putExtra("MESSAGE", Message);
            startActivity(i1);
实现数据在Activity之间传递

 

 情况二 :当第一个Activity将数据传递过去后,在第二个Activity中对传过来的数据进行修改后返回给第一个Activity    

           分析:这种情况下就不能使用startActivity()这个方法了,而是需要用startActivityForResult()这个方法,这个方法的作用是带回调启动Activity.

                  同时还需对onActivityResult()进行重写,对该方法的三个参数requestCode,resultCode,以及data进行定义.

    具体代码如下:

    1.首先回调启动Activity

            Intent i2=new Intent(this,SecondActivity.class);
            String Message=Edit1.getText().toString();
            i2.putExtra("MESSAGE", Message);
            
            int requestCode=2;
            startActivityForResult(i2, requestCode);//带回调启动Activity

    2.在第二个Activity中对传递过来的数据进行修改保存(设置要返回的结果)

        

            int resultCode=3;
            Intent data=new Intent();
            String result=second_Text.getText().toString();
            data.putExtra("RESULT", result);
            setResult(resultCode, data);//设置要返回的结果
            
            finish();

   3.第一个Activity中重写onAcivityResResult()方法

       

/**
     * 重写回调方法
     */
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode==2&&resultCode==3) {
            String info=data.getStringExtra("RESULT");
            
            Edit1.setText(info);
            
        }
        
        
    
    }

 

        

                       

  

     

2016.02.20 学习笔记 数据在Activity之间的传递的情况

原文:http://www.cnblogs.com/ILoke-Yang/p/5204149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!