• Activity之间的数据传递


    最常用的Activity之间的数据传递。

     1 btnStartAty1.setOnClickListener(new View.OnClickListener() {
     2             @Override
     3             public void onClick(View v) {
     4                 Intent i=new Intent(MainActivity.this, Activity1.class);
     5                 //Activity之间的数据传递
     6                 //i.putExtra("txt", "这是第一种Activity间的数据传递方法");
     7                 Bundle data=new Bundle();
     8                 data.putString("txt", "这是第二种Activity间的数据传递方法");
     9                 
    10                 i.putExtras(data);
    11                 
    12                 //startActivity(i);
    13                 //如果想要接收Activity1返回的数据,这里就不能用startActivity
    14                 startActivityForResult(i, 0);
    15             }
    16         });

    这是MainActivity.java中吧要传递的数据放在data中,命名为txt

    btn_out2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //以下3行是大数据传递,也是最常见的Activity间的数据接收方法
                    Bundle data=getIntent().getExtras();
                    String txt=data.getString("txt2");
                    tv_out.setText(txt);
                }
            });

    这是接收传递过来的数据的方法。

     1 btnCloseAty1.setOnClickListener(new View.OnClickListener() {
     2             @Override
     3             public void onClick(View v) {
     4                 Intent i=new Intent();
     5                 i.putExtra("result","result from Aty1 family!");
     6                 setResult(0,i);
     7 
     8                 finish();
     9                 //执行结束Aty1。
    10             }
    11         });

    这是Aty1中要返回的数据。

    1  @Override
    2     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    3         super.onActivityResult(requestCode, resultCode, data);
    4         String result=data.getStringExtra("result");
    5         tv_out_result.setText(result);
    6     }

    这是接受返回的数据。(

    //要接收从Aty1传回的数据必须用StartActivityForResult()这个方法
    //不能继续用StartActivity()方法

  • 相关阅读:
    IO操作之BIO、NIO、AIO
    IO之Socket网络编程
    this.getClass()和super.getClass()得到的是同一个类
    经济增长的背后
    SVN分支创建与合并
    .net类库里ListView的一个BUG
    VS2010调试技巧
    用C#代码编写的SN快速输入工具
    请教如何改善C#中socket通信机客户端程序的健壮性
    利用WebClient实现对Http协议的Post和Get对网站进行模拟登陆和浏览
  • 原文地址:https://www.cnblogs.com/yunqing/p/4931150.html
Copyright © 2020-2023  润新知