最近この問題を見つけました。テストには Android 4.1 を搭載した Samsung Tab 7'' を使用しています。
新しい Android アプリケーション プロジェクトがあります。ここにtrash.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);
}
}
ここまでは至ってシンプル。次に、このコードを AndroidManifest の MainActivity タブに配置します。
android:screenOrientation="portrait"
問題が発生したのは、1. 画面をロックしたとき 2. タブレットの向きを横向きに変更したとき 3. 画面のロックを解除したとき 4. 驚いたことに、縦向きに戻すのではなく、単純なエラー ( Resources$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
アプリケーションを横長のレイアウトにする代わりに、この問題を回避するにはどうすればよいですか?