但是,傳到另一個Activity執行一些圖片處裡的動作,因此這部分要如何做呢?
跨 Activity,當然必須要使用到 Intent.putExtras() & get.Extras 這個方法了
傳送一些數值、或者字串的話,就是把它塞入 Bundle 裡面再塞進 Intent.putExtras....
但是要傳送圖片?! 該如何做?
通常圖片顯示,是使用 Bitmap 方法,讓圖片在 ImageView上面呈現
但是如果要跨 Activity 將圖片傳到另一個畫面的 ImageView上面呈現!?
該怎麼做呢?這讓我傷腦筋了一陣子....
也Google了一陣子,嘗試了許多網路上蒐集的方法,但皆不盡理想
(PS: 其實應該是欣爺 Java 底子太差,還部會融會貫通的緣故吧...)
後來總算想到了 URI 方法,將圖片丟到 URI ,轉成字串再傳送就好,豁然開朗啊...
程式碼如下:
首先是發送端:
- Uri uri = Uri.parse(data.getDataString());//將擷取的圖片資料塞入URI
- Intent intent = new Intent(this, AnotherActivity.class); //指定目的端的Activity
- intent.putExtras("URI", uri.toString());//將URI轉成String塞入intent
- startActivity(intent);
- String photoUri = getIntent.getStringExtra("URI"); //接收傳來的Sting, 就是圖片啦..這樣就OK了
- ImageView imageView = imageView.setImageURI(Uri.parse(photoUri)); //指定image view來源
2 則留言:
哈囉您好
我有採用您的方法..
但是一直有顯示
"Type mismatch: cannot convert from void to ImageView"
這個錯誤
該宣告的也宣告了
不知道問題出在哪...
可以給點指示嘛??
哈哈哈
查資料查到你這邊來 XD
張貼留言