zoukankan      html  css  js  c++  java
  • activity之间參数传递&&获取activity返回值&&activity生命周期

    Activity之间參数传递

    A activity想将參数传给B activity时能够利用Intent将消息带过去

        	Intent intent = new Intent(this,BActivity.class);
        	intent.putExtra("xxxx", "xxxx");

    数据量多的话能够使用

            Bundle bundle = new Bundle();       
            intent.putExtras(bundle);


    获取activity返回值

    A activity调用 B activity后获取B activity的返回值

    B:

                                    Intent data = new Intent();
    				data.putExtra("name", name
    				setResult(3, data);
    				// 能够把当前的activity给结束掉 
    				finish();


    A:

    /**
    	 * 当被激活的activity 使用完成 销毁的时候 就会运行onActivityresult的方法
    	 */
    	@Override
    	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    		// TODO Auto-generated method stub
    		
    		System.out.println("结果码为"+ resultCode);
    		super.onActivityResult(requestCode, resultCode, data);
    
    		if (data != null) {
    			String name = data.getStringExtra("name");
    			if (requestCode == 1) {
    
    				et.setText(name);
    			}else if(requestCode == 2){
    				et2.setText(name);
    			}
    			
    		}
    	}
    



    activity生命周期:


    特别的:

                   当activity渐渐出现时调用OnResume()方法  

                    当activity開始被遮挡但并未全然消失时。调用onPause()方法

                    若此时原activity被激活则从新调用OnResume()方法

                    当activity全然不可见是调用onStop()方法

                    若此时原activity被激活则从新调用OnStart()方法


    特别的:当屏幕横竖屏幕切换时:

                  

    默认情况下(没有配置android:configChanges属性)

    竖屏切横屏,销毁当前Activity之后。创建一个新Activity实例。
    横屏切竖屏。销毁当前Activity之后,创建一个新Activity实例,新的Activity实例非常快就被销毁。接着又会创建一个新Activity实例。假设仅仅希望创建一个实例,能够配置android:configChanges="orientation"

              


              

     <activity 
                android:configChanges="keyboardHidden|orientation"
                android:theme="@android:style/Theme.Dialog"
                android:name=".Dmeo2Activity">
    </activity>


    当系统将我们的activity异常关闭时:

    我们要将一些activity的信息保存起来。方便到时候恢复:


    当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState()会被调用。可是当用户主动去销毁一个Activity时。比如在应用中按返回键,onSaveInstanceState()就不会被调用。

    由于在这样的情况下,用户的行为决定了不须要保存Activity的状态。通常onSaveInstanceState()仅仅适合用于保存一些暂时性的状态。而onPause()适合用于数据的持久化保存。



                   

  • 相关阅读:
    Java中的final关键字
    使用chrome浏览器调试时的搜索技巧
    查看“文件路径”&“在此处打开命令窗口”
    python安装 错误 “User installations are disabled via policy on the machine”
    Charles 激活入口以及账号密码
    大数据学习(一) | 初识 Hadoop
    Django基础3-数据库交互
    Django基础2
    Django基础使用1
    创建-Django创建启动
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/5086301.html
Copyright © 2011-2022 走看看