在Activity之间传递数据—简单数据/Bundle

1.首先要知道怎么通过一个Activity 打开另一个Activity。主页面为MainActivity,另一个页面为OtherActivity。MainActivity中的按钮Id为btnStart。

此实例类似与在winform中,通过单击一个按钮,打开另一个form。

在MainActivity的OnCreate方法中填写一下代码:

findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent i=new Intent(MainActivity.this,OthereActivity.class);
        startActivity(i);
    }
});

2.传递简单数据到OtherActivity。

在OtherActivity中添加一个文本显示控件TextView,用于显示从MainActivity中传递的数据。本例传递一个string串。

MainActivity的OnCreate方法代码:

 findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i=new Intent(MainActivity.this,OthereActivity.class);
                i.putExtra("key","value:yangjian");
                startActivity(i);
            }
        });

OtherActivity的OnCreate中接收,显示代码:

       tv=(TextView)findViewById(R.id.txtView);
        Intent i=getIntent();
       tv.setText(i.getStringExtra("key"));

3.传递数据包bundle到OtherActivity。

MainActivity的OnCreate方法代码:

 findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i=new Intent(MainActivity.this,OthereActivity.class);

                Bundle b=new Bundle();
                b.putString("name","杨戬");
                b.putInt("age",90);
                i.putExtras(b);
              //  i.putExtra("data",b);  这一行或上一行都可以
                startActivity(i);
            }
        });

OtherActivity的OnCreate中接收,显示代码:

 tv=(TextView)findViewById(R.id.txtView);
        Intent i=getIntent();
        Bundle data=i.getExtras();

        tv.setText(String.format("名字:%s;年龄:%d",data.getString("name"),data.getInt("age")));
时间: 2024-10-09 00:35:48

在Activity之间传递数据—简单数据/Bundle的相关文章

Android 笔记-Fragment 与 Activity之间传递数据

Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调.下面先学习第一种方法. (1)使用setArgument方法: 为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragment1,Fragment2和Fragemnt3: 现在他现在要吩咐部门Fragment1去做一些事情,比如说:领兵攻打岛国!!好,它肯定不自己跑去告诉该部门的. 一般来说,会有个宰相或者太监总管来负责皇帝口谕是

Android基础 -- Activity之间传递数据(bitmap和map对象)

原文:http://blog.csdn.net/xueerfei008/article/details/23046341 做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是些字符串之类的东东,结果这次卡了好久,折腾了一个下午. 第一个:传递bitmap 这个问题非常奇葩(可能我android水平还不够),居然不会报错,我是直接用bundle或Intent的extral域直接存放bitmap,结果运行时各种宕机,各种界面乱窜(我非常的纳闷)...搜索之后看大家都说不能直接传递

Android笔记Fragment与Activity之间传递数据

Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调.下面先学习第一种方法. (1)使用setArgument方法: 为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragment1,Fragment2和Fragemnt3: 现在他现在要吩咐部门Fragment1去做一些事情,比如说:领兵攻打岛国!!好,它肯定不自己跑去告诉该部门的. 一般来说,会有个宰相或者太监总管来负责皇帝口谕是

Activity之间传递数据的方式及常见问题总结

转载请注明:大飞 http://blog.csdn.net/rflyee/article/details/47431633 Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) 5. 持久化(sqlite.share preference.file等) 一.通过intent传递数据 (1)直接传递,intent.putExtra(key, value

大叔也说Xamarin~Android篇~Activity之间传递数组

我们在开发应用程序时,不可能只使用一个Layout或者一个Activity,比如你个管理系统,要求用户先登陆然后再使用,这时你至少要有两个activity吧,先登陆一个,然后成功后需要跳到别一个Activity,这就遇到了多个Activity之间传递数据的问题,这也是今天我们要说的! 先聊聊Activity 首先一个Activity都会去继承Activity类,这个类里有方法已经替我们实现,我们可以把activity看做是MVC里的Action,即它负责渲染我们的页面,组件页面上所需要的数据等,

Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]

http://blog.csdn.net/cjjky/article/details/6441104 在Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSerializable(Key,Object);也可以考虑采用Bundle.putParcelable(Key, Object);其中前面一种方法中的Object要实现Serializable接口,后面一种方法中的Object要实现Parcelable接口.下面我们以一个完整的例子来说明. 1.新建一个A

不同Activity之间传递线程

场景:Android由Activiy A创建Activiy B时 ,A创建的线程B中依然需要调用,这时候需要在两个activity之间传递线程的信息. 解决: 方式一:线程自己维护自己的静态句柄(比较好,降低耦合). 方式二:A将线程信息传给B,因为Activity.startActivity方法只能传递Intent对象,函数原型: @Override public void startActivity(Intent intent) { this.startActivity(intent, nu

Android之Activity之间传递对象

在很多时候,我们需要在Activity之间传递对象,比如当你点击了某列表的item,需要传递给下一个Activity该对象,那我们需要该怎么做呢? Android支持两种传递对象的方式,一种是bundle.putSerializable方式,一种是bundle.putParcelable. 那么下面我们就用一个例子来实践Activity传递对象: 1.首先建立两个类,一个Teacher类表示老师,一个Student类表示学生.内容分别如下: <span style="font-size:1

Activity 之间 传递 List 封装的对象或者对象

项目中遇到 从也个页面向另一个页面跳转传递一个List 封装的对象 .按网上查的资料 需要把 对象 实现 Serializable接口. 写了一下,但是跳转直接崩溃,一直看错误之日找不到原因后来自习教案代码,发现bean里面还有其他bean,对象里的对象没有 进行序列化.记录分享一下. 代码如下: 两个Bean 文件 import java.io.Serializable; import java.util.List; /** * ${JHS} */ public class Knowledge