Android 安卓实现页面相互跳转并相互传递参数

Posted 王家小西

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Android 安卓实现页面相互跳转并相互传递参数的主要内容,如果未能解决你的问题,请参考以下文章

原生与Flutter页面跳转并传递数据

原生与Flutter页面跳转并传递数据

原生与Flutter页面跳转并传递数据

Android 完美解决bundle实现页面跳转并保留之前数据+传值

uniapp 页面跳转和传参

uniapp 页面跳转传值和接收