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

  • 相关阅读:
    【slenium专题】Webdriver同步设置
    【Selenium专题】WebDriver启动firefox浏览器
    【Selenium专题】WebDriver启动Chrome浏览器(二)
    【Selenium专题】WebDriver启动Chrome浏览器(一)
    Jenkins邮件设置
    Jenkins安装笔记
    for循环输出i为同一值的问题,SetTimeOut
    const、let、var的区别
    浏览器title失去焦点时改变title
    clone对象或数组
  • 原文地址:https://www.cnblogs.com/wangjiaxiaoxi/p/6828052.html
Copyright © 2011-2022 走看看