Android页面传值b,android数据传递(一)之activityA传递到activityB

activity之间单传递也就是activityA传递到activityB携带数据传递有两种

0818b9ca8b590ca3270a3433284dd417.png方式:

1.activityA通过intent.putExtra(key,value);

可以传递很多类型,看下图

0818b9ca8b590ca3270a3433284dd417.png

在activityB根据你传递数据的类型通过getExtra()接收

例如 String类型的:getIntent().getStringExtra(“name”);

int类型的: getIntent().getIntExtra(“age”, 0);

下面看一个小demo

首先在eclipse里面创建一个android工程,创建两个activity

一个名为ActivityA一个名为ActivityB(记住一定都要在AndroidManifest.xml里面注册这两个activity)

ActivityA的布局文件里面写一个Button用于跳转到ActivityB

然后在activity里面写点击后跳转的逻辑

public void button(View view){

Intent intent = new Intent(this,ActivityB.class);

intent.putExtra("name", "周杰伦");

intent.putExtra("age", 38);

startActivity(intent);

}

ActivityB布局文件里就写了一个TextView用来区分两个activity

ActivityB里面接收数据的逻辑代码为

public class ActivityB extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_b);

String name = getIntent().getStringExtra("name");

int age = getIntent().getIntExtra("age", 0);

Toast.makeText(this, "名字是:"+name+";年龄是:"+age, Toast.LENGTH_LONG).show();

}

写了一个Toast用以显示接收到的数据,看是否已经接收到(本人也写了一篇关于toast的用法的博客)

运行项目,显示如下

0818b9ca8b590ca3270a3433284dd417.png

以上是第一种传递数据的的方法

2.第二种是利用bundle来传值,把数据放在bundle里面,bundle相当于Map一样

ActivityA里面代码如下

public class ActivityA extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_a);

}

public void button(View view){

Intent intent = new Intent(this,ActivityB.class);

// intent.putExtra("name", "周杰伦");

// intent.putExtra("age", 38);

//用bundle传值

Bundle bundle=new Bundle();

bundle.putString("name", "周杰伦");

bundle.putInt("age", 38);

intent.putExtras(bundle);

startActivity(intent);

}

}

ActivityB里面接收和第一种接收是一样的

public class ActivityB extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_b);

//新页面接收数据

Bundle bundle = this.getIntent().getExtras();

//接收name值

Bundle bundle = getIntent().getExtras();

String name = bundle.getString("name");

int age = bundle.getInt("age");

Toast.makeText(this, "名字是:"+name+";年龄是:"+age, Toast.LENGTH_LONG).show();

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值