2012-04-09 43 views
1

我在我的應用程序有活動,我已經設置機器人:configChanges =「方向」我menifest文件是這樣的:活動重啓問題

<activity 
     android:name=".MyActivity" 
     android:label="@string/app_name" 
     android:configChanges="orientation"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 
     <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

和方法來處理它:

@Override 
    public void onConfigurationChanged(Configuration config) { 
    super.onConfigurationChanged(config); 
    if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
    } 

在大多數谷歌搜索我看到它說它會阻止重新啓動我的活動,但它開始於方向changed.I把一個System.out ....內onCreate()它是打印每個orie這意味着它開始創作。任何幫助爲什麼它發生或我在哪裏錯了?

+0

「如果你的應用程序的目標API級別13或更高(如通過中的minSdkVersion和targetSdkVersion屬性聲明),那麼你也應該申報‘屏幕尺寸’的配置,因爲當設備在縱向和橫向之間切換時,它也會發生變化。「 - 也許這就是問題所在? – 2012-04-09 10:08:36

+0

@appserv沒有像我的最低4和目標爲8 – 2012-04-09 10:12:56

+0

PLZ看到這篇文章可能幫助完整:http://stackoverflow.com/questions/456211/activity-restart-on-rotation-android – 2012-04-09 10:13:06

回答

1

在清單文件中使用它。

android:configChanges="orientation|keyboardHidden" 

與方向也不會重新啓動活動

+0

謝謝,但我不使用相同的東西?我不想keyboardhidden屬性,所以我不使用它。 – 2012-04-09 10:06:56

+0

它工作。我試過了,它工作。你能告訴我爲什麼嗎?因爲「KeyBoardGidden」與它無關。對 ? – 2012-04-09 10:48:22

+0

請經過[this](http://stackoverflow.com/questions/7818717/why-not-use-always-androidconfigchanges-keyboardhiddenorientation),如果它適合你,你可以接受我的答案 – Abhi 2012-04-09 11:01:56