【第22期】观点:IT 行业加班,到底有没有价值?

使用Bundle传递复杂数据

原创 2015年11月18日 22:41:58

第一种方法

1、在第一个activity中

<span style="font-size:18px;"><span style="white-space:pre">	</span>Button start = (Button)findViewById(R.id.toSecond);
        start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this,SecondActivity.class);
                Bundle data = new Bundle();
                data.putString("name","Jack");
                data.putInt("age",23);
                i.putExtras(data);
                startActivity(i);
            }
        });</span>

2、在第二个activity中进行数据读取

<span style="font-size:18px;"><span style="font-size:18px;">Intent i = getIntent();
        Bundle data = i.getExtras();
        TextView textView = (TextView) findViewById(R.id.textView);
        textView.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","LJaer")));</span></span>

通过向intent中传入一个Bundle类型的字符串进行数据传递,name1 没有数值,进行默认LJaer设置


第二种方法

1、在第一个activity中

<span style="font-size:18px;">start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this,SecondActivity.class);
                Bundle data = new Bundle();
                data.putString("name","Jack");
                data.putInt("age",23);
                //i.putExtras(data);
                i.putExtra("info",data);
                startActivity(i);
            }
        });</span>
<span style="font-size:18px;">
</span>
<span style="font-size:18px;">2、在第二个activity中</span>
<pre name="code" class="java"><span style="font-size:18px;">Intent i = getIntent();
        //Bundle data = i.getExtras();
        Bundle data = i.getBundleExtra("info");
        TextView textView = (TextView) findViewById(R.id.textView);
        textView.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","LJaer")));</span>





版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Android之使用Bundle传递数据类型

昨天发表了第一篇博客,虽然不像大牛们那么厉害,但对于入门的小伙伴们来说确实很实用,昨天好多小伙伴给我说intent传递数据少了一种使用bundle的,其实本来是想写在那一篇的,后来我觉得应该单独拿出来...

Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!

在上一节例子中,介绍了如何在Activity 中调用另一个Activity ,但若需要在调用 另外一个Activity 的同时传递数据,那么就需要利用Android.os.Bundle 对象封装数据的能力,将欲传递的数据或参数通过Bundle 来传递不同Intent 之间的数据. ...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Android为什么要设计出Bundle而不是直接使用HashMap来进行数据传递?

1,Bundle内部是由ArrayMap实现的,ArrayMap的内部实现是两个数组,一个int数组是存储对象数据对应下标,一个对象数组保存key和value,内部使用二分法对key进行排序,所以在添...

Android为什么要设计出Bundle而不是直接使用HashMap来进行数据传递 Android内存优化(使用SparseArray和ArrayMap代替HashMap)

1.Bundle内部是由ArrayMap实现的,ArrayMap的内部实现是两个数组,一个int数组是存储对象数据对应下标,一个对象数组保存key和value,内部使用二分法对key进行排序,所以在添...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)