Android学习笔记(1)_关于Activity传值和接收textView的值

最基本的Activity传值:

第一个Activity主要代码:

Intent i = new Intent(MainActivity.this, TheAty.class);
                //i.putExtra("data","欢迎来到zzu");
//                Bundle b = new Bundle();
//                b.putString("name","zzu");
//                b.putInt("age",20);
//                i.putExtras(b);

                i.putExtra("user",new User("zzu",19));
//                startActivity(i);
                startActivityForResult(i,0);

部分解释:

1、startActivity( ) 
startActivity( ) 仅仅是启动另一个Activity,他不会自定回转到原来的Activity,若是想跳回原来的页面,则必须再使用一次startActivity( )来启动原来的Activity。
2、startActivityForResult( ) 
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从FirstActivity跳转到SecondActivity,当这个SecondActivity执行完finish()方法后,程序会自动回调FirstActivity的onActivityResult(int requestCode, int resultCode, Intent intent)方法。

从中我们可以看出第一步要创建Intent,其次把数据放入Intent中,接着运行start即可。

第二个Activity主要代码:

        Intent i = getIntent();
        //User user = (User)i.getSerializableExtra("user");
        User user = (User)i.getParcelableExtra("user");
        //Bundle data = i.getExtras();
        //tv.setText(i.getStringExtra("data"));
//        tv.setText(String.format("name=%s,age=%d,name1=%s",
//                data.getString("name"),data.getInt("age"),data.getString("name1","liu")));
        tv.setText(String.format("User info(name=%s,age=%d)",user.getName(),user.getAge()));

第二部分呢,主要是获取Intent,然后i.get到你需要的值,也就是你put到里边的值,最后用textView显示即可。

从Activity中获取数据:

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent i = new Intent();//第一步创建Intent
        i.putExtra("data",editText.getText().toString());//第二步把值放入intent
        setResult(1,i);//设置返回结果
        finish();//完成,关闭当前Activity
    }
});

获取result的activity部分代码

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    textView.setText("另一个Activity返回的数据是:"+data.getStringExtra("data"));//data为传过来的Intent
}

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值