[ 原创 ]学习笔记- 数据在Activity之间的传递的情况

情况一:一个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); } }

        

  

    

上一篇:Metrics.NET step by step使用Metrics监控应用程序的性能


下一篇:P1621 集合