zoukankan      html  css  js  c++  java
  • Android-Activity使用(2) -传值

    一、简单传值

    1、修改MainActivity

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //强制转换为Button,必然放在setContentView之后
            btnSatrtAty1=(Button)findViewById(R.id.btnStartAty1);
            //给按钮设定事件监听器
            btnSatrtAty1.setOnClickListener(
                //实现OnClickListener接口的了匿名类
                new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        //事件中启动Aty1
                        //参数一:MainActivity 的实例
                        //参数二:要启动的Activity的类的定义为Class类型
                        //this 指实现OnClickListener的内部类
                        Intent i=new Intent(MainActivity.this,Aty1.class);
                        i.putExtra("txt","Hello Aty1");
    
                        startActivity(i);
                    }
            });
            System.out.print("onCreate");
        }

    2、修改Aty1接受数据并显示

    tvOut=(TextView)findViewById(R.id.tvOut);
    tvOut.setText(getIntent().getStringExtra("txt"));

    二、Bundle传值复杂一点数据

    1、修改MainActivity通过Bundle传值

    Intent i=new Intent(MainActivity.this,Aty1.class);
    Bundle data=new Bundle();
    data.putString("","Hello Aty1");
    i.putExtras(data);
    
    startActivity(i);

    2、修改Aty1接受数据并显示

    tvOut=(TextView)findViewById(R.id.tvOut);
    Bundle data=getIntent().getExtras();
    String txt=data.getString("txt");
    tvOut.setText(txt);

    二、取Activity传回的传

    不可以使用startActivity改用startActivityForResult

    1、修改Aty1在页面关闭时设置返回值

            btnClose=(Button)findViewById(R.id.btnStartAty1);
            btnClose.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent i=new Intent();
                    i.putExtra("result","Hello MainActivity");
                    setResult(0, i);
                    finish();
                }
            });

    2、修改MainActivity接受回传值

        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            String result=data.getStringExtra("result");
            tvOut.setText(result);
            super.onActivityResult(requestCode, resultCode, data);
        }
  • 相关阅读:
    浏览器渲染原理
    前端日常工作性能优化条例
    前端的发展历程
    【YOLO-V1】You Only Look Once: Unified, Real-Time Object Detection
    ModuleNotFoundError: No module named 'keras_retinanet.utils.compute_overlap'
    python学习笔记:线性回归
    软件安装笔记5:navicat for mysql及其简单应用
    python学习笔记39:sklearn
    python学习笔记38:matplotlib
    python学习笔记37:pandas
  • 原文地址:https://www.cnblogs.com/huxiaoli/p/4305477.html
Copyright © 2011-2022 走看看