中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Activity橫豎屏切換的問題

發布時間:2020-06-06 23:40:04 來源:網絡 閱讀:587 作者:祝你幸福365 欄目:移動開發

Activity在橫豎屏切換的時候會重新走生命周期的方法,這樣做的話會導致一些問題 比如我們在界面上錄入的一些數據,但因為重新走了生命周期的方法onCreate()方法,這樣就會導致前功盡棄,所以就想辦法,在橫豎屏切換的時候不能讓其重新OnCreate(),Android中我們可以在清單文件中對應的Activity使用如下的屬性  android:configChanges="keyboardHidden|orientation|screenSize"  這樣就可以避免此類事情的發生。下面是示例代碼:

package com.minimax.demo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

///Activity橫豎屏切換/src/com/minimax/demo/MainActivity.java
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		System.out.println("onCreate().....");
	}

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		System.out.println("onStart().....");
	}
	
	
	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		System.out.println("onResume().....");
	}
	
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		System.out.println("onPause().....");
	}
	
	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		System.out.println("onStop().....");
	}
	
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		System.out.println("onDestroy().....");
	}
	
	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		System.out.println("onRestart().....");
		
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

在沒有添加對應的屬性之前,我們切換橫豎屏之后打印的Log日志如下:
04-22 21:50:51.954: I/System.out(24476): onCreate().....
04-22 21:50:51.964: I/System.out(24476): onStart().....
04-22 21:50:51.964: I/System.out(24476): onResume().....
04-22 21:50:56.524: I/System.out(24476): onPause().....
04-22 21:50:56.524: I/System.out(24476): onStop().....
04-22 21:50:56.524: I/System.out(24476): onDestroy().....
04-22 21:50:56.614: I/System.out(24476): onCreate().....
04-22 21:50:56.614: I/System.out(24476): onStart().....
04-22 21:50:56.614: I/System.out(24476): onResume().....
添加如下屬性:
        <activity
            android:name="com.minimax.demo.MainActivity"
            android:label="@string/app_name" 
            android:configChanges="keyboardHidden|orientation|screenSize" 
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

在添加屬性之后之后,打印的Log日志如下:
04-22 21:52:25.984: I/System.out(30283): onCreate().....
04-22 21:52:25.984: I/System.out(30283): onStart().....
04-22 21:52:25.994: I/System.out(30283): onResume().....

無論如何我們切換橫豎屏,都不會重新走onCreate()方法


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛阳市| 扎赉特旗| 施秉县| 湖南省| 蕲春县| 闵行区| 澜沧| 荥阳市| 咸阳市| 黑水县| 苏尼特右旗| 菏泽市| 蕉岭县| 石景山区| 莆田市| 叙永县| 武强县| 福州市| 辉县市| 凭祥市| 上杭县| 漳州市| 庄河市| 大宁县| 福海县| 嵩明县| 南召县| 龙江县| 扎赉特旗| 兴安盟| 中卫市| 宁津县| 宜春市| 塔城市| 上杭县| 长子县| 花莲市| 信丰县| 文山县| 额敏县| 和平区|