質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

2975閲覧

画像を選択したあと、その画像に対して切り取り等の編集を行いたい

hiro094

総合スコア26

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2017/06/03 05:52

###前提・実現したいこと
現在、端末に保存されている画像を一覧から選択したあとすぐにその画像にたいして、切り取り等サイズ調整を行うアクティビティに遷移し、編集したものを戻った際に表示させたいとと思っています。

現状はボタンを押したら、画像選択のダイアログに飛び、onActivityResultメソッド内で今度はその画像を渡して画像編集のActivityに飛んでいるのですが、その画像編集のActivityから編集して戻ってきた際に、編集した画像をIntentから受取たいのですが、onActivityResult内でActivity遷移しているため、遷移先で編集した画像をIntentから受け取ってセットする方法がわかりません。

Java

1MainActivity onCreate内抜粋 2 3... 4button = (Button)findViewById(R.id.button); 5button.setOnClickListener(new View.OnClickListener() { 6 @Override 7 public void onClick(View v) { 8 Intent intent = new Intent(Intent.ACTION_PICK, 9 MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 10 11 intent.setType("image/*"); 12 13 startActivityForResult( 14 Intent.createChooser( 15 intent, 16 getResources().getString(R.string.image_picker_text) 17 ), 18 RESULT_PICK_IMAGEFILE); 19 } 20}

Java

1MainActivity 2 3 @Override 4 public void onActivityResult(int requestCode, int resultCode, Intent resultData) { 5 6 if (requestCode == RESULT_PICK_IMAGEFILE && resultCode == Activity.RESULT_OK) { 7 Uri uri = null; 8 if (resultData != null) { 9 uri = resultData.getData(); 10 Log.i("", "Uri: " + uri.toString()); 11 12 try { 13 Bitmap bmp = getBitmapFromUri(uri); 14 imageView.setImageBitmap(bmp); 15 16 Intent intent2 = new Intent(MainActivity.this, CropImageViewActivity.class); 17 intent2.putExtra("BMP", bmp); 18 startActivity(intent2); 19 20 } catch (IOException e) { 21 e.printStackTrace(); 22 } 23 } 24 } 25 }

Java

1画像編集Activity onCreate内 2 3cropButton.setOnClickListener(new View.OnClickListener() { 4 @Override 5 public void onClick(View v) { 6 // フレームに合わせてトリミング 7 Intent intent = new Intent(); 8 intent.putExtra("cropBMP",cropImageView.getCroppedBitmap()); 9 setResult(Activity.RESULT_OK, intent); 10 finish(); 11 } 12 });

onActivityResult内で他のActivityに飛ぶというのが恐らく構造的に良くないと思うのですが、こういう場合どのように実装すればよろしいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Activity#onActivityResultでActivity#startActivityForResultを使用すれば良いと思いますよ。
この時、リクエストコードを画像選択の時とは別の値にする必要がありますが。

投稿2017/06/03 08:05

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiro094

2017/06/03 09:12

回答ありがとうございます。当たり前ですが、startActivityで呼んじゃってたからここ通らなかったんですね。無事実装する事が出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問