アダプターを使用したAlertDialogを示すDialogFragmentは、方向の変更に耐えられません
質問
私はこれに壁をぶつけました。私のDialogFragmentは、カスタマーアダプタを使用するダイアログを除いて、私が持っている他のすべてのダイアログでうまく機能します。 2回目に向きを変更すると、java.lang.IllegalStateException: Fragment NewAlertDialog{447bc528} not attached to Activity
を取得します。これはAPI4 +サポートパッケージを使用しています。
最初の向きの変更では発生しません。常に2番目の向きの変更で発生します。つまり、次のダイアログが表示された順序で発生します。
- ポートレート->ランドスケープ->ポートレート-> java.lang.IllegalStateException
- ランドスケープ->ポートレート->ランドスケープ-> java.lang.IllegalStateException
ダイアログは次のとおりです: ジェネラコディセタグプレ
これはDialogItemです: ジェネラコディセタグプレ
.setAdapter()
からAlertDialog.Builder
呼び出しを削除すると問題が解決するため、アダプターを含めることに問題があることはわかっています。また、ICSデバイスに問題がないことも奇妙です。これは、私がテストしたジンジャーブレッドデバイスでのみ発生します。どんな助けでも大歓迎です!
ありがとうございます!
マット。
解決
問題は解決しました。DialogFragmentではなくアクティビティからgetResources()リソースを呼び出すことが、必要な変更でした。
前: ジェネラコディセタグプレ
後: ジェネラコディセタグプレ
所属していません StackOverflow