私はの詳細アクティビティを持っています。画像のいくつかのサムネイルがリストされています。文字列としてURLを渡して新しいアクティビティを開き、ユーザーが画像のより大きなバージョンを見ることを可能にする "FullScreenActivity"にしたい。親アクティビティを失うことなく新しいアクティビティを開く
DetailsActivityには、ユーザーが全画面表示を開いたときに緩めたくない複雑なデータオブジェクトが含まれています。
は、私は新しい「FullScreenActivity」、画像のダウンロードに文字列を渡すことができ、そして私がピンチすることができますの/ etc像ズーム..しかし、私はDetailsAcitivityに戻るには、UPボタンをクリックすると、複雑なデータオブジェクトがなくなるため、アプリケーションがクラッシュします。
ユーザーが大きな画像を見ている間に、DetailsActivityをどうやって保持しますか?
ここでは、私がFullScreenActivityを呼び出す方法を示します。これはforループで呼び出され、新しい画像ビューを作成してアクティビティに追加します。
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DetailsActivity.this, ViewFullPhotoActivity.class);
intent.putExtra("FullScreenPicture", (String) finalImageMap.get("MainImage"));
startActivity(intent);
}
});
そして、私のFullScreenActivityで、私は
String fullScreenImage = (String) getIntent().getCharSequenceExtra("FullScreenPicture");
を経由してURL文字列を取得し、私は複雑なデータオブジェクトをパッケージ化し、新しい意図とそれを一緒に送るのアイデアをおもちゃに、しかし確実にそれはベストプラクティスではありません。その道を行くと、特にすべてのサムネイルをダウンロードしたり、フォームに入力されたデータを失ったりすると、ユーザーにとって素晴らしいものではないことがあります。
アプリがクラッシュしたときにlogcatを提供できますか?それで原因を調べることができます。 – ljpv14
クラッシュログは複合オブジェクトがヌルです。 –