2011-07-25 12 views
0

私はGalleryのアプリケーションを作成していますが、このGalleryの向きはビューの種類によって異なります。概して、いくつかのワイド画像はダブルページスプレッドです。そのため、風景ではViewを1つ取りますが、2つのビュー(1ページに1つ)に分割してポートレートで表示します。onCreateでGallery.setSelection(position)を使用する

「ページ」が選択されていることを記憶しているシステムを持っており、これをGallery.setSelection(position)に送信できる位置に変換しています。私はこれをActivity.onCreate()から呼び出し、Activity.onRetainNonConfigurationInstance()を使用して、これを保持しているオブジェクトをアプリケーションに戻します。残念ながらGalleryは、onCreateが終了した後、以前の位置の値にリセットされているようです。

これを抑制できますか?そうでない場合は、いつ私のGallery.setSelection(position)メソッドに電話する必要がありますか?

+0

私はそれを試しました。ギャラリーが配置される場所であるsuper.onResume()の呼び出しの後、onResume()からコールする必要があります。 –

+0

私が逃した微妙なものがあるかもしれませんが、存在する場合は、それらを指摘してください:) –

+0

こんにちはアンドリューWyldはガレリアビューのsetposionのための完璧なソリューションを持っている? – amity

答えて

0

私はそれを試しました。

オリエンテーションが変更されると、Activity.onCreate()が呼び出され、すべてが膨張します。 Activity.onResume()をオーバーライドし、super.onResume()の後にGallery.setSelection(position)を目的の値で呼び出して、正しい動作を得ることができます。おそらくギャラリーの選択は、super.onResume()またはActivity.onCreate()とActivity.onResume()の間のいずれかの前の値に設定されていると考えられます。

関連する問題