0

PreferenceActivityアクティビティで、ギャラリーからonActivityResultメソッドで返されたImageViewの新しいビットマップを設定しています。しかし、携帯電話を回転させると(Samsung Galaxy Note 2)、ImageViewが空になります。この場合、ImageViewを正しく再初期化する方法は?

PS

この場合、onResume()メソッドは機能しません。

具体的には、コードの例を使用してトピックを作成しました。ここでは、Androidの画像の切り抜きと壁紙の設定ページをご覧ください。

何が悪いのか教えていただけますか?ありがとう

4

1 に答える 1

0

回転すると、アクティビティが破棄されて再作成されます。これは、すべてのビューが破棄され、すべての変数がクリアされることを意味します。これを修正する方法は2つあります。

1)マニフェストで、android:configChanges="orientation"をアクティビティに追加します。これは、回転するときにアクティビティに対してこの破壊動作を望まないことをAndroidに通知します。これはおそらくそれ自体で修正するのに十分でしょう。

2)画像のファイル名を変数に保存する必要があります。次に、そのデータを保存するためにonSaveInstanceStateとonRestoreInstanceStateを実装する必要があります。次に、変数を復元するときにそのファイルを使用するようにイメージをリセットする必要があります。

私は方法1を提案します-それはただ簡単です。

于 2013-01-25T21:30:16.667 に答える