Я работаю над приложением и нуждаюсь в помощи с сообщением, проходящим между двумя экранами. Первый экран - это форма регистрации с кнопкой изображения, которая должна показывать изображение пользователя на экране. Когда пользователь сначала открывает этот экран, ImageButton использует «defaultavatar.png» из выпадающей папки. При нажатии этой кнопки изображения пользователь направляется на экран с помощью GridView значков на выбор. Мне нужно передать номер изображения, отобранного обратно в действие регистрации, и соответственно изменить источник изображения ImageButton. Как мне это сделать? Это мой код в данный момент:Передача сообщений между действиями Android?
В источнике активности Регистраций:
Intent intent = getIntent();
String imagePos = intent.getStringExtra(AvatarListActivity.IMAGE_NUMBER);
//String imageName = "@drawable/bigavatar" + imagePos;
String PACKAGE_NAME = getApplicationContext().getPackageName();
ImageButton displayPic = (ImageButton) findViewById(R.id.displayPic);
int imgId;
if(imagePos != null)
{
imgId = getResources().getIdentifier(PACKAGE_NAME+":drawable/bigavatar"+imagePos, null, null);
displayPic.setImageBitmap(BitmapFactory.decodeResource(getResources(),imgId)); //src
}
else
{
imgId = getResources().getIdentifier(PACKAGE_NAME+":drawable/defaultavatar", null, null);
displayPic.setImageBitmap(BitmapFactory.decodeResource(getResources(),imgId)); //src
}
В списке Аватар Активность:
GridView gridview = (GridView) findViewById(R.id.gridViewAvatars);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
//Toast.makeText(AvatarListActivity.this, "" + position, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getBaseContext(), SignUpActivity.class);
intent.putExtra(IMAGE_NUMBER, position);
startActivity(intent);
}
});
Как я могу идти о поменяв изображений в зависимости от выбора пользователя ? (Примечание: все значки аватаров были пронумерованы как bigavatar1, bigavatar2, bigavatar3 и т. Д.). Пожалуйста, помогите как можно скорее и спасибо!
Использование startActivityForResult (int, int) и onActivityResult (int, int, Intent) работало отлично! Спасибо тонну :) –
Я нашел эту страницу полезной: http: //www.vogella.com/articles/AndroidIntent/article.html –