[英]Passing ImageView from one activity to another activity
我一直在嘗試創建集成了Adobe Creative SDJ的android應用,但是遇到了一些問題。
我創建了一個活動,可以啟動相機或圖庫來選擇要編輯的圖像。 相機啟動,並在以下路徑中捕獲並保存照片:
storage/emulated/0/Pictures/myAppName/myImage.jpg
還應該在同一活動中將其顯示在ImageView
中,但不顯示它。 在另一個活動中,我集成了Adobe創意sdk的ImageEditing UI,該UI需要imageUri
作為輸入圖像。
這是我在ImageView
顯示圖像的代碼:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// camera codes
String path = "storage/emulated/0/Pictures/Touch/touch.jpg";
resultImageView.setImageDrawable(Drawable.createFromPath(path));
// gallery codes
if (resultCode == RESULT_OK && requestCode == PICK_IMAGE){
imageUri = data.getData();
resultImageView.setImageURI(imageUri);
}
}
如何將ImageView
轉換為Uri並將其發送到下一個活動? 提前致謝!
我認為您輸入的相機代碼有誤。 如您所說,您的圖庫代碼工作正常,請嘗試以下操作:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try{
if (resultCode == Activity.RESULT_OK) {
if (requestCode == 0) {
//taking clicked image from Intent of activity
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
File destination = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".jpg");//storing image
FileOutputStream fo;
try {
destination.createNewFile();
fo = new FileOutputStream(destination);
fo.write(bytes.toByteArray());
fo.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//adding clicked image to ImageView
imgClicked.setImageBitmap(thumbnail);
希望這個能對您有所幫助..:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.