2012-01-12 145 views
0

我已經在一個名爲display_image.xml的屏幕中實現了galleryview,其中當用戶選擇圖片並在同一屏幕上按下保存圖像按鈕時,我已經在SD卡上顯示各種圖像display_image.xml然後選擇的圖像應該在他/她的個人資料中更改在另一個屏幕的圖片。如何從一個屏幕獲取圖像到另一個屏幕?

我的問題是,如何將我能夠獲得該圖像從一個屏幕來改變用戶的圖片在另一個屏幕,並且選定的圖像也應該在數據庫中插入後retrival當用戶登錄後英寸讓我告訴你,我的圖像不來自任何web服務。

請幫我.........感謝你.........

回答

0

第一件事信息和使用startActivityForResult(i_cp, 111);這將尋找一些結果。在我們的情況下爲圖像的位置;一個整數值。

通過指定request_code(111),將用於識別啓動意圖返回時的結果。在這裏,我們不會使用setAction(i_cp.ACTION_PICK);setType("image/*");,因爲我們不會返回圖像,我們只會返回圖像的位置。我們對Intent的使用僅限於傳遞和檢索整數值(值的位置)。

現在該如何獲得用戶選擇的圖像位置。位置在圖庫視圖的onItemClick方法得到了由參數

public void onItemClick(AdapterView parent, View v, int position,long rid) 

之一現在宣佈一個變量如int POS;並分配-1以識別圖像是否被選中或未被並且如果圖像被選中,那麼在按鈕saveimage通值位置onclick事件作爲

retIntent.putExtra("SelectedImage", pos); 

onActivityForResult過去了requestcode和提取識別意圖在於作爲

int pos = data.getExtras().getInt("SelectedImage"); 

位置並將其設置爲

usr_im.setImageResource(ImagePicker.pics[pos]); 

和此陣列圖片[]瓦特的HICH保持存儲在應用程序的文件夾res/drawable的一個圖像的所有ID,聲明爲

public static Integer[] pics={values}; 

否則你不會能夠設置圖像。

0

您可以通過兩種方式來實現: 1) SD傳遞的路徑所選圖像卡,並直接從imageview中的路徑加載該圖像。 2)您可以將圖像轉換爲byes []並傳遞bytes []並獲取圖像。

希望你能幫我。 Best of Luck

0

使用「activityForResult」。
概念是通過調用

startActivityForResult(INTENT_OF_YOUR_IMAGECHOOSING_ACTIVITY);

現在,在這個活動中,當任何圖像的用戶點擊處理該事件,如下所示啓動圖像選擇活動:
一些OnClick(){<br>Intent resultIntent = new Intent(); 在此意圖設置的字節數組您在額外的圖片或圖片

的SD卡路徑,然後調用setResult(RESULT_OK, resultIntent);


釷是呼叫會返回到前一個活動的方法onActivityResult(int resultCode, ..., Intent data)在這裏使用的數據爲意圖獲取你需要
你需要做的就是聲明的意圖

Intent i_cp = new Intent(this,ImagePicker.class); 

相關問題