Android实现页面带参数跳转回传

本文详细介绍了在Android中如何实现页面之间的参数传递,包括简单值传递、实体类传递,以及如何实现代理回传目标页面的数据到主页面。通过创建Activity,使用Intent,并在目标页面获取参数进行回传操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建2个空白的Activity
放置Button和EditText控件
在这里插入图片描述
2.先实现页面跳转功能
页面跳转用意图 Intent

  Intent intent=new Intent(Main4Activity.this,Main5Activity.class);
        startActivity(intent);

传一个值

3.获取文本框中的内容

String info= editText.getText().toString();

然后加进意图中

intent.putExtra("un",info);

4.在另一个MainActivity中获取意图和传入的值

Intent intent=getIntent();
        String info=intent.getStringExtra("un");
        editText.setText(info);

传实体类

3.创建实体类并网里面加值

 Bundle bundle = new Bundle();
            bundle.putString("un","123");
            bundle.putString("pw","456");

然后加进意图中

  intent.putExtras(bundle);

4.在另一个MainActivity中获取意图和传入的值

 Intent intent = getIntent();
  Bundle bundle = intent.getExtras();
        String un = bundle.getString("un1","nothing");
        String pw = bundle.getString("pw");
        editText.setText(un+"-"+pw);

实现要求目标页面传数据回来(参数回传)

1.主页面要求目标页面传数据回来

 //要求目标页面传数据回来
                startActivityForResult(intent,100);

2.回传页面获取参数并回传

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String reValue = editText.getText().toString();
            Intent intent1 = new Intent(Main4Activity.this,Main3Activity.class);

            intent1.putExtra("revalue",reValue);

            //携带数据回到源页面
            setResult(200,intent1);
            //已经回去了
            finish();

        }
    });

3.主页面接收目标页面回传的值

  //会自动接收目标页面回传的值
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == 100 && resultCode == 200 ){
            String revalue = data.getStringExtra("revalue");
            editText.setText(revalue);
        }
    }

Main3Activity代码如下:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Main3Activity extends AppCompatActivity {
    private Button button;
    private EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);

        button = (Button) findViewById(R.id.button2);
        editText = (EditText) findViewById(R.id.editText);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String info = editText.getText().toString();

                //跳转页面   意图
                Intent intent = new Intent(Main3Activity.this,Main4Activity.class);
               // intent.putExtra("un",info);//传一个值

                //实体类传值  po
                Bundle bundle = new Bundle();
                bundle.putString("un","123");
                bundle.putString("pw","456");

                intent.putExtras(bundle);
                //正常的页面跳转
                //startActivity(intent);

                //要求目标页面传数据回来
                startActivityForResult(intent,100);
            }
        });

    }

    //会自动接收目标页面回传的值
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == 100 && resultCode == 200 ){
            String revalue = data.getStringExtra("revalue");
            editText.setText(revalue);
        }
    }
}

Main4Activity代码如下:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Main4Activity extends AppCompatActivity {
    private Button button;
    private EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);

        button = (Button) findViewById(R.id.button3);
        editText = (EditText) findViewById(R.id.editText2);

        Intent intent = getIntent();
        //String info = intent.getStringExtra("un");
        Bundle bundle = intent.getExtras();
        String un = bundle.getString("un1","nothing");
        String pw = bundle.getString("pw");
        editText.setText(un+"-"+pw);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String reValue = editText.getText().toString();
                Intent intent1 = new Intent(Main4Activity.this,Main3Activity.class);

                intent1.putExtra("revalue",reValue);

                //携带数据回到源页面
                setResult(200,intent1);
                //已经回去了
                finish();

            }
        });
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值