アクティビティ1には3つのボタンがあります。 btn1と2と3を使用しています.3つのimageViews、imageView1と2と3を持つActivity2を持っています。私はact1のbtn1をクリックし、act2(可視)のimageView1に画像を送り、btn1を再度クリックすると、行為2で。 act2でbtn2をクリックすると、act2(可視)のimageView2に画像を送信し、もう一度btn2をクリックすると、act2の画像は非表示(非表示)になります。そしてまたbtn3。私は変更を保存してwhant私は、アプリケーションを終了するときに変更を欠場しないでください。どうやってやるの?アクティビティから画像を送信し、別のアクティビティで画像を取得する
答えて
画像をact1からact2に送信しないで、既にact2に配置してください。あなたはACT1のボタンをクリックすると、次のように続いて、)putExtra(経由ACT2に押されたボタンのタグを送る:
public void clickButton1(View view) {
Intent intent = new Intent(this, act2.class);
intent.putExtra("bttnTag", 1);
startActivity(intent);
}
その後、対応として2と3を送信し、他の二つのボタンで同じやりますタグ。 そして、ACT2に、あなたは次のようにクリックされていますどのボタンを取得:
Intent intent = getIntent();
int btnClicked = intent.get("bttnTag", -1);
そして、あなたは目に見えない/見えるようにする必要があり3 ImageViewsのかを選択することbtnClicked値を使用することができます。 お手伝いをしてください。
インテントを使用して、2つのアクティビティ間で情報を渡すことができます。次のいずれかが可能です。
- は、受信アクティビティに送る活動からのファイルの場所を渡し送る活動に
byte[]
に画像のBitmap
に変換して、受信活性または - にそれを渡す
イメージをBitmap
に変換してからbyte[]
に変換してから、2つのアクティビティの間に「大量」の情報を渡すと、前者の方法がより高価になることに注意してください。後者の方法では、単に場所を渡してリソースをレンダリングしているだけです。
方法1の例:あなたは、その後で、あなたのImageView
に画像をレンダリングすることができ
Bundle extras = getIntent().getExtras();
byte[] b = extras.getByteArray("picture");
Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);
ImageView imageView = (ImageView) findViewById(R.id.image_view_1);
:送信アクティビティで
:受信アクティビティで
// Let image_name be the name of the image file located in your drawable folder
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image_name);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("picture", b);
startActivity(intent);
ボタンのOnClickListener
に次の行を挿入します。
imageView.setImageBitmap(bmp);
方法2の例:送る活動に
:
受信アクティビティでIntent intent = new Intent(this, ActivityB.class);
intent.putExtra("picname", fileName);
:
Bundle extras = getIntent().getExtras();
String fileName = extras.getString("picname");
File filePath = getFileStreamPath(fileName);
Drawable d = Drawable.createFromPath(filePath.toString());
次に、あなたのImageView
描画可能に設定します次の行を入力してあなたのボタンのOnClickListener
にあります。あなたの他の質問については
someImageView.setBackgroundDrawable(d);
:
あなたは、あなたのイメージがあなたのImageView
の可視性を操作することで表示/非表示にすることができます。
imageView.setVisibility(View.VISIBLE);
imageView.setVisibility(View.INVISIBLE);
またsavedInstanceState
呼ばれるBundle
を使用して、画像の状態を保存することができます。画像を切り替えるときや、onCreate
の方法で画像の状態(可視性)を更新するようにしてください。
- 1. ギャラリーから画像を選択して別のアクティビティに送信
- 2. フラグメントから別のアクティビティへの画像IDの送信
- 3. アンドロイドの別のアクティビティに画像を送信するには?
- 4. あるアクティビティから別のアクティビティへ画像を転送したい
- 5. リサイクラビューから他のアクティビティへ画像を送信する
- 6. あるアクティビティから別のアクティビティへ画像を渡す
- 7. 高解像度画像をあるアクティビティから別のアクティビティに渡す
- 8. 画像を共有アクティビティから別のアクティビティに変更します。
- 9. Android ||あるアクティビティから別のアクティビティへ画像を解析する方法は?
- 10. 1つのアクティビティから別のアクティビティに画像を保存する方法
- 11. 画像データをアクティビティからフラグメントに転送する
- 12. アクティビティ画像を返す
- 13. 複数の画像を1つのアクティビティから2番目のアクティビティ、Recyclerviewで選択して送信
- 14. ブロードキャスト受信者から画像アクティビティを選択して開始
- 15. ギャラリーから画像を選んで、特定のアクティビティの画像ビューと別のアクティビティのナビゲーションドロワ画像ビューにロードします
- 16. recyclerviewアダプタから別のアクティビティに画像を渡す方法
- 17. 画像ビューで別のアクティビティでカメラから取り込んだ画像を読み込む方法は?
- 18. Androidでは、あるアクティビティからギャラリーから選択した別のアクティビティに画像を送信するにはどうすればよいですか?
- 19. アクティビティのフルスクリーン背景画像
- 20. sqliteに画像を挿入し、画像をアクティビティに取り込みます。
- 21. アクティビティの背景の画像解像度
- 22. アクティビティ間で画像を転送する最速の方法
- 23. アンドロイドで、カメラから取得した画像の画像IDを取得する
- 24. ギャラリーから画像を送信する
- 25. あるアクティビティから別のアクティビティにデータを送信する
- 26. iosで画像からテキストを取得する(画像処理)
- 27. 画像をFacebookからメールで送信
- 28. Kotlinを使用してImageViewからAndroidの別のアクティビティに画像を渡す
- 29. 新しいアクティビティでAndroidディスプレイカメラ画像
- 30. 画像を別のアプリケーションに送信
いくつかのコードを提供してください –
あなたはactivity1のボタンをクリックしながらactivity2が見えるようにしますか?まあ、それは可能だが、ハックアップ。 – xizzhu
アクティビティ2は表示されず、アクティビティ2の画像だけが表示されます – Nima