1. 程式人生 > >關於Activity中onCreate()方法執行兩次的問題

關於Activity中onCreate()方法執行兩次的問題

這兩天練習碰見個問題,當我要把視窗設定為橫屏時,我使用的方法是在程式碼裡呼叫:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
	

執行,沒問題。

於是接著各種編碼。。。

但是再次執行時發現,onCreate方法裡打日誌發現它總是執行兩遍,找不見原因。

於是網路查詢,有人說是Activity預設的是豎屏顯示,當設定為橫屏是,它會重新整理一次螢幕,在此呼叫onCreate方法。

這可如何是好,再查閱,發現在xml檔案中為Activity設定橫屏屬性就可以解決這一問題。

首先刪掉之前的,

setRequestedOrientation。。。。。方法

其次為|Activity新增屬性

 android:screenOrientation="landscape"

搞定

相關推薦

關於ActivityonCreate方法執行的問題

這兩天練習碰見個問題,當我要把視窗設定為橫屏時,我使用的方法是在程式碼裡呼叫:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 執行,沒問題。 於是接著各種編碼。。。 但是再次執行時發

Java面試題每日題9.28—如何實現在main方法執行前輸出“Hello World”

  眾所周知,在 Java語言中,main()方法是程式的入口方法,在程式執行時,最先載入的就是main()方法,但這是否意味著main()方法就是程式執行時第一個被執行的模組呢?   答案是否定的。在Jawa語言中,由於靜態塊在類被載入時就會被呼叫,因此可以在main()方

執行sleep方法和Object類的wait方法的區別

這兩者的施加者是有本質區別的. sleep()是讓某個執行緒暫停執行一段時間,其控制範圍是由當前執行緒決定,也就是說,線上程裡面決定.好比如說,我要做的事情是 "點火->燒水->煮麵",而當我點完火之後我不立即燒水,我要休息一段時間再燒.對於執行的主動權是由我

Android ApplicationOnCreate方法執行

在Application中開啟了一個子執行緒,但是每次子執行緒都會執行兩次,非常鬱悶。這時候看它執行兩次的時候就去驗證他的大方法是否執行了兩次,然後發現執行緒建立了兩次;再看他的大方法執行了幾次,它的大方法就是OnCreate方法,雖然我覺得它不會執行兩次,但是我們一定要進行

ArrayListremove方法刪除長度大於5的元素之後下標重定位的問題

com 有一個 fad 就刪除 成了 位置 p s cnblogs 中心 1、問題闡述 需求: 有一個ArrayList數組,要求刪除長度大於5的字符串,如:arr = {"ab1","123ad","bca","dadfadf","dddaaa","你好啊","我來

JavaScriptArray物件join方法的例子

//join()方法用於把陣列中的所有元素放入一個字串 //其中元素是通過指定的分隔符進行分割 var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thom

Java 集合List及MapforEach方法

我們先看一個forEach()方法遍歷List集合的例子: //使用com.google.guava包建立集合 List<String> list =Lists.newArrayList("a","b","c","d");

Map集合value方法與keySet、entrySet()區別

Map<String,String> map = new HashMap<String,String>();map.put(“01”, “zhangsan”);map.put(“02”, “lisi”);map.put(“03”, “wangwu”);Collection<St

javasleep方法的解析

Thread.sleep(3000); 就是指讓當前正在執行的佔用cpu時間片的執行緒掛起3000ms,把cpu的時間片交給其他執行緒,但是並沒有指定把CPU的時間片接下來到底交給哪個執行緒,而是讓這些執行緒自己去競爭(一般作業系統會根據優先順序排程) 所以說讓當執行緒睡眠,是幫助所有執行緒獲得執行時間的最佳

hibernatedelete方法報錯處理方法

    @Override     public void del(Picture picture) {         session.beginTransaction();         System.out.println(picture.getId());   

Java學習筆記23:JavacharAt方法的使用

此方法返回位於字串的指定索引處的字元。該字串的索引從零開始。 charAt(int index)方法是一個能夠用來檢索特定索引下的字元的String例項的方法. charAt()方法返回指定索引位置的char值。 索引範圍為0~length()-1. 如: str.charA

在定義類時,何時需要重寫Object類equals方法

在比較兩個物件時可以使用==和 equals()。==用於比較兩個物件的引用地址是否相等,而equals()方法主要用於比較兩個物件的內容是否相等。和equals()的差別請參見“和equals()有什麼區別?”的解答。 在 Object 中已定義了 equals()方法,但是該方法直接採用

java的API,學習object的類equals方法的問題,

一、什麼是API 即:Application Programing interface應用程式介面。就是javajdk中提供給我們使用的類,已經封裝好的,直接拿來用就行了。 二、Object類 object類是所有類的父類,在lang包中,lang包不用匯入。 介面中沒有構造方法

初學者對jssort方法的理解。

定義和用法 sort() 方法用於對陣列的元素進行排序。 語法 arrayObject.sort(sortby) 引數 描述 sortby 可選。規定排序順序。必須是函式。 返回值 對陣列的引用。請注意,陣列在原陣列上進行排序,不生成副本。 說明 如果

CameraonPreviewFrame方法的視訊方向旋轉

1、旋轉90度 privatebyte[] rotateYUV420Degree90(byte[] data,int imageWidth,int imageHeight){byte[] yuv =newbyte[imageWidth*imageHeight*3/2];/

jssort方法的用法,引數以及排序原理

sort() 方法用於對陣列的元素進行排序。 語法:arrayObject.sort(sortby);引數sortby可選。規定排序順序。必須是函式。 注:如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字

關於新建android專案,MainActivity裡面的onCreate方法、R檔案報錯的解決方法

做為一位剛剛上手Android開發的小白來說,要適應一門開發語言和一款開發工具十分費勁。本人也在摸索的路上走了很多的彎路,也有了一點點的經驗和問題的解決方案,和大家分享一下。 這是關於第一次用Android studio新建工程所遇到的問題,新建工程中MainActivit

javacharAt方法的使用

charAt(int index)方法是一個能夠用來檢索特定索引下的字元的String例項的方法. charAt()方法返回指定索引位置的char值。索引範圍為0~length()-1. 如: str.charAt(0)檢索str中的第一個字元,str.charAt(s

jqueryjoin方法總結

join方法用於陣列中元素的連線下面首先以一個簡單的例子舉例說明:var arr = [1,2,3,4,5];document.write(arr.join(-));  //輸出結果:1-2-3-4-5

在scrapy爬蟲框架xpathextract方法的使用

本案例列舉的是爬取騰訊社招中涉及到 extract()使用的總結(1)第一種:position = job.xpath('./td[1]/a/text()')[<Selector xpath='./td[1]/a/text()' data='22989-騰訊雲虛擬化高階