最初に行う必要があるのは、インテントを宣言することです
Intent i_cp = new Intent(this,ImagePicker.class);
startActivityForResult(i_cp, 111);
そして、何らかの結果を探すために使用します。私たちの場合、画像の位置。整数値。
開始されたインテントによって返されたときに結果を識別するために使用される request_code (111) を指定します。ここでは使用setAction(i_cp.ACTION_PICK);
しsetType("image/*");
ません。画像を返さないため、画像の位置を返すだけです。Intent の使用は、整数値 (値の位置) の受け渡しと取得のみに限定されます。
ユーザーが選択した画像の位置を取得するにはどうすればよいでしょうか。位置は、パラメータの 1 つによって GalleryView の onItemClick メソッドで取得されます
public void onItemClick(AdapterView parent, View v, int position,long rid)
int pos; などの 1 つの変数を宣言するようになりました。-1 を割り当てて、画像が選択されているかどうかを識別し、画像が選択されている場合は、ボタン saveimage の onclick イベントで値の位置を次のように渡します。
retIntent.putExtra("SelectedImage", pos);
onActivityForResultでは、渡されたリクエストコードによってインテントを識別し、その位置を次のように抽出します。
int pos = data.getExtras().getInt("SelectedImage");
そしてそれを次のように設定します
usr_im.setImageResource(ImagePicker.pics[pos]);
res/drawable
アプリケーションのフォルダの1 つに保存されている画像のすべての ID を保持するこの pics[] の配列は、次のように宣言します。
public static Integer[] pics={values};
そうしないと、画像を設定できません。