2

最近この問題を見つけました。テストには 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

アプリケーションを横長のレイアウトにする代わりに、この問題を回避するにはどうすればよいですか?

4

2 に答える 2

2

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);アクティビティで onCreate()を呼び出すことができ ます

于 2013-06-15T05:31:50.083 に答える