zoukankan      html  css  js  c++  java
  • 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()方法

  • 相关阅读:
    Cesium加载Geowebcache切片
    Vue开发--脚手架的搭建
    OpenLayers动态测量距离和面积,并可自定义测量的线样式
    OpenLayers要素拖拽
    改造SuperMap的DrawHandler接口,自定义绘制的图形样式
    Cesium动态绘制实体(点、标注、面、线、圆、矩形)
    ArcMap制图遇到的小问题
    GeoServer 2.15.2版本跨域问题解决方法
    MySQL 8.0 主从同步
    Service__cmd--MySQL安装并连接SQLyog
  • 原文地址:https://www.cnblogs.com/yunqing/p/4931150.html
Copyright © 2011-2022 走看看