• Android Activity 生成及Activity之间传值


     Activity 是Android中重要的组件,每个Activity对应一个界面,如何生成新的Activity,如何在不同Activity传递数值呢。

    一、

    生成新的Activity,当然要使用Intent了,这里有两种方式。(注意:所有的Activity都要在AndroidMainfest.xml 中声明)

      1.使用显示的方式调用Intent

         我们在一个button事件中生成新的activity

        

     btn.setOnClickListener(new OnClickListener(){
    
    			@Override
    			public void onClick(View arg0) {
    				// TODO Auto-generated method stub
    
    				Intent i = new Intent(MainActivity.this,SecondActivity.class);
    				startActivity(i,88);
                                }
                     });
    

     

      2.使用隐式的形式

         通过声明action 来调用响应的Activity

        新的Activity需要在AndroidMainfest.xml 中 声明成这个样子:

       

            <activity android:name =".ThirdActivity">
                <intent-filter>
                  <action android:name="www.example.com.myAction"/>
                  <category android:name="android.intent.category.DEFAULT"></category>
                </intent-filter>
            </activity>
    

     调用代码:

    Intent intent = new Intent();
    intent.setAction("www.example.com.myAction");
    startActivity(intent);
    

     其中的 <category> 标签必须要有的,添加一个 默认的。

    二 、 数值的传递

      如果把calling Activity 称为 父 Activity的话,新生成的称为child Activity

      1.父向子传递数据,直接使用Intent的相关函数:

        intent.putExtra();

      在 Child Activity 中获取值:

        Intent intentGet = getIntent();

        intentGet.getStringExtra(); 

        .....等等函数获取相关类型的值。

     2.child Activity 向 父 Acitvity 中回传值

         需要使用两个系统函数来完成:

         生成child Activity 时使用:startActivityForResult()函数

       

    Intent i = new Intent(MainActivity.this,SecondActivity.class);
    			     
    startActivityForResult(i,88);
    

     在父Activity中重新回调函数:public void onActivityResult(int requestCode,int resultCode,Intent data)

        

     当  child activity 调用finish() 函数结束生命后,返回父Activity自动调用onActivityResult()函数,

    其中child activity 向回传的数据 通过 setResult() 函数设置。所有需要在finish()函数调用前,调用setResult() 完成回传值的设置。

  • 相关阅读:
    Django forms 主要的标签介绍
    DjangoForm 提交验证
    js 实现JSONP
    mssql sqlserver 批量删除所有存储过程的方法分享
    mssql sqlserver 规范使用方法分享
    MSSQL Sql加密函数 hashbytes 用法简介
    mssql sqlserver 获取指定日期为本月第几个工作日
    存储过程和函数之间有几个区别
    mssql sqlserver 视图如何加密,让第三方用户查看不到其中的SQL语句
    mssql sql语句过滤百分号的方法分享
  • 原文地址:https://www.cnblogs.com/igoogleyou/p/androidguo.html
Copyright © 2020-2023  润新知