この種の質問は定期的に表示されます。これが以前にカバーされていれば申し訳ありませんが、私は初心者であり、適切な答えを見つけることができませんでした。クラスとアクティビティ間のコミュニケーションの正しい実装を扱います。
ギャラリーアプリを作りました。主なアクティビティは3Mainつあります。1つはパターンを使用してファイル名を検索することです。1Thumbつは、パターンに一致するすべての画像をグリッドビューのサムネイルとして表示し、Photoアクティビティは、の親指をクリックするとフルサイズの画像を開きますThumbs。ファイル名(配列)とグリッドビューでクリックされた親指の(an )をPhoto介してアクティビティに渡します。Intentpositionint
この3番目Photoのアクティビティには、1つのビューしかTouchImageViewありません。aは、画像のショートクリックの場所(左、右、または中央)に応じて、前/次の切り替えとズームに適応しました。Photoさらに、 EXIF情報を表示するためにロングクリックリスナーを追加しました。
うまくいっていますが、実装に満足していません...いくつかのことが正しくありません。
私が経験している問題の1つは、画像の右側をクリックしてPhotoアクティビティの次の画像を表示すると、正常に切り替わりますが(position++)、デバイスを回転させると元の画像がposition表示されることです。
何が起こっているのかというPhotoと、画像を回転させると破壊され、何らかの理由でsuper.onCreate(savedInstanceState)、Extras(親アクティビティではなくでposition変更されたもののみ)を再度ロードすることなく、再起動します。Photo
startActivityForResultの代わりに試してみましたstartActivityが、失敗しました...
もちろん、positionデータを保存するために工夫したことはできますが、活動の仕組みがわからない「概念」があるはずなので、正しくやりたいと思っています。
誰かが私が間違っていることを説明してもらえますか?それは私が望むものを実装するための最良の方法であり、その理由は何ですか?
どうもありがとう!!!