2013-07-11 125 views
0

我試圖從一個活動發送一些imageviews其他,我也看到類似這樣的一個關於從一個活動發送的ImageView的ID到其他問題的建議其他的,但在我的情況不同的是我發送一個以上的imageviews,也從一個更大的ImageView dyamically創建這些imageviews, 即我通過這樣的方式使用 Bitmap resized=Bitmap.createBitmap(bmp, 0, 0, width, height);創建從一個更大的ImageView 12個小imageviews那所有這些組合都會讓我回到原來更大的imageview, ,並希望將它們全部傳遞給下一個活動。 因此,我想要了解關於我遵循的過程的一些建議,以及如何以更好的方式進行操作。 謝謝!發送從一個活動imageviews其他

  • 編輯:我使用照相機拍攝的照片,然後將其assiging一些imageview的第一,然後我想此imageview的分成12小份並動態地分配給12個imageviews,並顯示它們中的每明顯在下一個活動。
+0

您可以創建一個ArrayList並將其放入另一個靜態類。從哪裏可以在任何應用程序中訪問它。 –

+0

爲什麼要將圖像視圖從一個activivy發送到另一個?我不知道你想要創建什麼樣的應用程序,但這聽起來像是一個非常糟糕的主意。 更好的是在下一個活動上創建新的圖像並傳遞數據(例如文件名)以將正確的圖像加載到imageview中。 –

+0

@PeterFortuin:看到編輯,希望它能幫助你理解我正在做的事 – nobalG

回答

1

我還需要實現類似的情況。

首先,您不能通過Intents發送大的位圖對象。它使應用程序崩潰,因爲我認爲Intents的容量更小,比如1mb。

您有以下選擇:

1 - 通過意向額外發送圖像文件路徑。

2-在靜態字段中保存圖像文件路徑並在其他活動中讀取它。

3位圖保存到文件,並使用選項(1,2)發送其路徑和刪除新的活動圖像文件。

4-將圖像的位圖的位圖中的一個靜態數組列表,然後在其他活動讀取它。

5將圖像文件名放入靜態數組字符串中,然後在其他活動中讀取。

基本上,你必須在新的活動中重新創建它們,或者將它們保存在靜態字段中,然後在那裏讀取。

也許你可以實現更復雜的解決方案如 如果應用程序有SD卡寫入訪問然後將其寫入文件 否則使用靜態數組列表將其保存在內存中。

我所做的是當PictureCallback獲取圖像數據時,我將它保存在SD卡上並將路徑返回到其他活動。

+0

感謝您的迴應,但是關於我所問的編輯問題的一個例子可能會幫助我清楚地理解概念,如果可以的話。 .. :) – nobalG

1

你應該永遠,永遠也不會直接將位圖 - 只是通過URI或URL或文件名到下一個活動,並從那裏加載它...

+0

傳遞位圖與'Intent'有什麼不對? –

+0

你可以很容易地遇到一些outOfMemory錯誤。 – longilong

+0

@longilong:是的,我得到了一個關於java綁定器的錯誤 – nobalG

相關問題