Я нашел эту проблему недавно. Для тестов я использую Samsung Tab 7 дюймов с Android 4.1.
У меня есть новый проект приложения для Android. Здесь у нас есть трэш.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
И Активность, которая его вызывает:
package com.example.trash;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.trash);
}
}
Пока довольно просто. Затем я помещаю этот код на вкладку MainActivity в AndroidManifest:
android:screenOrientation="portrait"
Проблема появилась, когда я: 1. заблокировал экран 2. изменил ориентацию планшета на альбомную 3. затем разблокировал экран 4. и, к моему удивлению, вместо того, чтобы вернуться к портретной ориентации, мое приложение просто рухнуло из-за простой ошибки ( Ресурсы$NotFoundException):
06-15 00:12:37.390: E/AndroidRuntime(6452): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.trash/com.example.trash.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030001
Что я могу сделать, чтобы избежать этой проблемы, вместо того, чтобы делать альбомную верстку для моего приложения?