Первое, что вам нужно сделать, это объявить Intent
Intent i_cp = new Intent(this,ImagePicker.class);
и используйте startActivityForResult(i_cp, 111);
, который будет искать некоторый результат. в нашем случае для положения изображения; целочисленное значение.
, указав request_code (111), который будет использоваться для идентификации результата при возврате начальным намерением. Здесь мы не будем использовать setAction(i_cp.ACTION_PICK);
и setType("image/*");
, потому что мы не собираемся возвращать изображение, мы просто вернем положение изображения. Наше использование Intent будет ограничено просто передачей и извлечением целочисленного значения (позиции значения).
Теперь как насчет того, чтобы получить эту позицию изображения, которое выбрал пользователь.позиция есть в методе onItemClick из GalleryView с помощью одного из параметров
public void onItemClick(AdapterView parent, View v, int position,long rid)
Теперь объявить одну переменные, такие как INT позы; и назначить -1, чтобы определить, выбран ли изображение, или нет, и если выбран образ, то в случае OnClick кнопки saveimage позиции значения, как передача
retIntent.putExtra("SelectedImage", pos);
и в onActivityForResult определить намерения от прошедшего requestcode и экстракта, что положение как
int pos = data.getExtras().getInt("SelectedImage");
и установить его в качестве
usr_im.setImageResource(ImagePicker.pics[pos]);
и этот массив фотографии [] ш Хич содержит все идентификаторы изображений, хранящихся в одном из res/drawable
папки вашего приложения, объявить его как
public static Integer[] pics={values};
В противном случае вы не будете в состоянии установить изображение.