Sim, claro que tem.
Mas dai já complica 1% só…
Se você for pelo pensamento que te disse acima, você pode criar uma nova Activity que transmitirá entre si parâmetros como as constantes da imagem selecionada.
Vou te dar um exemplinho:
// Quando você clicar no botão para selecionar as imagens, você iniciaria a activity pelo método:
startActivityForResult(intent, 1);
//Em sua outra Activity, você mostraria as três imagens em ImagesViews.
ImageView img1, img2, img3;
// E instanciaria as mesmas...
img1 = (ImageView) findViewById(R.id.imageView1);
img2 = (...)
img3 = (...)
// Agora você coloca o evento de click nas ImageView's.
img1.setOnClickListener(new View.onClickListener() {
public onClick(View v) {
switch(v.getId()) {
case R.id.imageView1:
// Guarda na intent que iniciou essa Activity o valor da imagem.
Intent it = getIntent();
it.putExtra("imagem", R.id.imageView1);
setResult(Result_OK);
finish();
case R.id.imageView2:
(...)
}
Quando ele clicar na imagem, ele guardará na Intent depois finalizará a Activity e voltará pra anterior que chamou retornando para o método:
onActivityResult(..., Intent it) {
// APontando para os extras da intent que retornou.
Bundle bd = it.getExtras();
imagemAtualizada.setImageResources(bd.getInt("imagem"));
}
Pronto, ele irá atualizar porque você passou o parâmetro do valor da constante da imagem que está guardada na classe R.java!
Deu pra entender mais ou menos? =)