【Android开发--新手必看篇】Intent and Bundle(Activity 与 Fragment传值)

Android笔记

​ ——传值
若对该知识点有更多想了解的,欢迎私信博主~~

传值:Intent and Bundle
Activity与Activity之间
方式一:intent
	//第一个界面
	EditText etx1;
    TextView txt1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etx1=findViewById(R.id.etx1);
        txt1=findViewById(R.id.txt1);

        findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建Intent对象
                //第一个参数是当前Activity,第二个参数是要打开的Activity
                Intent intent=new Intent(MainActivity.this,Main2Activity.class);
                //向intent里放入值(第一个参数:给传的值一个名称,用于接收;第二个参数:需要传的值)
                intent.putExtra("word",etx1.getText().toString());
                //启动intent对象,打开Activity
                startActivity(intent);
            }
        });
    }
	//新打开的Activity
	EditText etx2;
    TextView txt2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        etx2=findViewById(R.id.etx2);
        txt2=findViewById(R.id.txt2);

        //创建Intent对象,getIntent()方法是用于连接上一个Activity
        Intent intent=getIntent();
        //getStringExtra()用于接收传进来的String值,参数为上一个Activity传进此值的name
        String word=intent.getStringExtra("word");
        txt2.setText(word);
    }
方式二:intent+bundle
	//第一个界面
	EditText etx1;
    TextView txt1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etx1=findViewById(R.id.etx1);
        txt1=findViewById(R.id.txt1);

        findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建Intent对象
                //第一个参数是当前Activity,第二个参数是要打开的Activity
                Intent intent=new Intent(MainActivity.this,Main2Activity.class);
                //创建Bundle对象
                Bundle bundle=new Bundle();
                //向bundle里放入值(第一个参数:给传的值一个名称,用于接收;第二个参数:需要传的值)
                bundle.putString("word",etx1.getText().toString());
                //通过putExtras()方法传入bundle(注意:此时为putExtras()方法,不是putExtra()方法)
                intent.putExtras(bundle);
                //启动intent对象,打开Activity
                startActivity(intent);
            }
        });
    }
	//新打开的Activity
	EditText etx2;
    TextView txt2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        etx2=findViewById(R.id.etx2);
        txt2=findViewById(R.id.txt2);

        //创建Intent对象,getIntent()方法是用于连接上一个Activity
        Intent intent=getIntent();
        //创建Bundle对象,将存入intent对象里的bundle取出来
        Bundle bundle=intent.getExtras();
        //getString()用于接收传进来的String值,参数为bundle传进此值的name
        String word=bundle.getString("word");
        txt2.setText(word);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值