码迷,mamicode.com
首页 > 其他好文 > 详细

基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能

时间:2017-10-17 12:45:06      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:putextras   XML   基于   之间   ddd   example   art   rac   col   

在讲参数传递之前,先讲下intent的定义:

    Intent intent = new Intent(MainActivity.this,SecondActivity.class);  //这是显式定义

如果是隐式定义,隐式Intent通过在AndroidManifest.xml中<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的action和category。

<activity android:name=".SecondActivity" >

  <intent-filter>

        <action android:name="com.example.activitytest.ACTION_START" />

         <category android:name="android.intent.category.DEFAULT" />  

         <category android:name="com.example.activitytest.MY_CATEGORY"/>

   </intent-filter>

 </activity>

 

1、静态变量传递数据:

变量定义时一定要设置成public static,在第二个将打开的Activity进行定义,在第一个Activity对即将打开的Activity的静态变量进行赋值。

(1)public class FirstActivity extends Activity {

SecondActivity.ddd = 100;//设置静态变量传递的参数

(2)public class SecondActivity extends Activity{

public static int ddd;这里定义

textview.setText("静态变量:"+ddd);这里获取第一个Activity传过来的ddd参数

2、通过putExtra传递数据:

        putExtra(key,value);//携带参数发送到另一个页面

        String name = intent.getStringExtra(key);//获取传送过来的字符串

下面是发送参数代码:

Intent intent = new Intent(MainActivity.this, ShowActivity.class);//实例化一个inent                    

intent.putExtra("name", "大家好");//为putExtra添加需要传递的参数

startActivity(intent);

下面是获取代码:

Intent intent = getIntent();//获取一个intent对象

String name = intent.getStringExtra("name");//获取传递过来的值

textview.setText("putExtra传参:"+name);

3、全局变量传递数据

创建一个类继承Application在设置变量,并设置get方法获取变量的值

在AndroidManifest.xml的application里面添加android:name=".Defind" //Defind为类名

defind = (Defind) getApplication();//在使用的类里面通过getApplication获取全局变量类的对象

这个方式支持开发者自己定义一个类来进行传参,但是该类需要在AndroidManifest.xml中声明出来,

在AndroidManifest.xml的application里面添加android:name并给name赋值为类名,然后在类里面通过

getApplication获取全局变量类的对象,再对该对象进行操作。

4、数据包Bundle传递数据

下面是参数发送代码:

Bundle b = new Bundle();//创建Bundle对象

  b.putString(‘name‘,‘姓名‘);//往Bundle对象添加传递的参数

  b.putInt(‘age‘,1);//往Bundle对象添加传递的参数

  intent.putExtras(b);在intent里面添加Bundle对象

下面是获取参数代码:

  Bundle data = intent.getExtras();//获取传递过来的Bundle对象

  data.getString(‘name‘);//通过Bundle对象的key获取值

  data.getInt(‘age‘);////通过Bundle对象的key获取值

基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能

标签:putextras   XML   基于   之间   ddd   example   art   rac   col   

原文地址:http://www.cnblogs.com/gszw/p/7680305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!