zoukankan      html  css  js  c++  java
  • Android 安卓实现页面相互跳转并相互传递参数

    一、对于两个页面之间相互传值,跳转的时候我们使用 startActivityForResult(intent,0),而不是startActivity(intent) 这个方法

       第一个页面中在触发跳转的按钮中写上

                Intent intent=new Intent(MainActivity.this,SecondActivity.class);
                //将text框中的值传入
                intent.putExtra("name",text.getText().toString());
                //为了接受SecondActivity中的值,不用startAcitivity(intent)
                startActivityForResult(intent,1000);
                 
                //两个动画之间的动画描述
                overridePendingTransition(R.anim.enter, R.anim.exit);

    二、在第二个人Activity中回传数据采用setResult的方法,并在最后调用finish()

            Intent intent =getIntent();
            Bundle bundle= intent.getExtras();
            String Name=bundle.getString("name");
            SecondActivity.this.setTitle("欢迎光临"+Name);
            
            bt1.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent(SecondActivity.this,MainActivity.class);
                //将text框中的值传入
                intent.putExtra("backname",text.getText().toString());
                setResult(1001, intent);
                //    结束当前这个Activity对象的生命
                finish();
                                
                //SecondActivity.this.finish();
                }
            }); 

    三、在第一个页面中重写onActivityResult方法,用来接收第二个Activity回传的数据

    @Override
    //重写了onAcitivityResult
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == 1000 && resultCode == 1001)
        {
            String result = data.getStringExtra("backname");
            MainActivity.this.setTitle("收到"+result);
            Toast.makeText(getApplicationContext(), "取消", Toast.LENGTH_LONG).show();
        }
        else if(requestCode == 1000 && resultCode == 1002)
        {
            String result = data.getStringExtra("backname");
            MainActivity.this.setTitle("收到"+result);
            Toast.makeText(getApplicationContext(), "确定", Toast.LENGTH_SHORT).show();
        }
    }

    源码地址:http://download.csdn.net/download/qq_34793108/9836860

  • 相关阅读:
    C#基础知识之静态和非静态
    C#基础知识之类和结构
    jQuery选择器
    ajax和json的优缺点
    说几条JavaScript的基本规范
    vue中异步请求渲染问题(swiper不轮播)(在开发过程中遇到过什么问题、踩过的坑)
    vue响应数据的原理
    面向对象的几种方式(创建对象的几种方式)
    ES6新特性
    HTML和XHTML的区别
  • 原文地址:https://www.cnblogs.com/wangjiaxiaoxi/p/6828052.html
Copyright © 2011-2022 走看看