1

Androidの画面の向きを処理するために、自分のアクティビティのonRetainNonConfigurationInstance()を実装しました。コードは次のとおりです。Android:onRetainNonConfigurationInstanceがスクリーンオリエンテーションの変更で呼び出されていません

@Override 
    public Object onRetainNonConfigurationInstance() { 
    Log.d("[DEBUG]", "onRetainNonConfigurationInstance : " 
     + this.getClass().getName()); 
    MyState state = new MyState(); 

    return state; 
    } 

私はアンドロイドデバイスにアプリケーションをインストールしました。メソッドが呼び出されていない()

Device : Samsung Nexus S 
Android version : 4.0.4 
Kernel version : [email protected] #1 

私は画面の向きを変更することにより、携帯電話上のアプリケーションをデバッグ、私のonRetainNonConfigurationInstance:ここでは構成があります。

私も、私のアクティビティのonCreate()メソッドでログラインを追加しました。ドキュメンテーションによると、Androidは画面の向きが変わったときにその活動を再作成することになっています。だから私は、次のようなものがあります。

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mylist); 
    Log.d(Constants.LOG_TAG, "Oncreate : " + this.getClass().getName()); 
} 

しかし、ここで私は、デバイス上の画面の向きを変更すると、のonCreate()メソッド呼び出されません。

guyzさんは既にこの問題を経験しましたか?

ドキュメントでは、このメソッドが廃止され、代わりにフラグメントなどに関連するものを使用する必要があるとも言われています。なぜメソッドが呼び出されないのでしょうか?

実際に、私は2.3.3 3.0へのデバイスのために実装していますが、私の試験装置は4.0.4です:それは問題になることはできますか?私は、Android OSのバージョン間に下位互換性があると考えました。事前に

おかげで、

+0

マニフェストファイルを共有してください。 – AndroDev

答えて

2

はおそらく、それゆえonCreateメソッドが呼び出されていない、あなたは向きが自分を変える処理するsays活動のためのマニフェストファイルでorientationに対して宣言android:configChangesを、持っています。

関連する問題