Estou usando essa Activity pro usuario pegar uma foto:
[code]public class PhotoPicker extends Activity implements OnClickListener {
private Button botaoaceitar;
private Button botaolocalizar;
private ImageView fotoview;
private String fileSrc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photopickerlayout);
Log.i(tag,"PhotoPicker iniciado.");
botaoaceitar = (Button) findViewById(R.id.pickerbotaosalvar);
botaolocalizar = (Button) findViewById(R.id.pickerbotaobuscar);
fotoview = (ImageView) findViewById(R.id.pickerfoto);
botaoaceitar.setOnClickListener(this);
botaolocalizar.setOnClickListener(this);
Intent it = getIntent();
fotoview.setImageBitmap(FotoModel.getBitmapFromBytearray(it.getByteArrayExtra(FotoModel.EXTRA_FOTO_USUARIO)));
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.pickerbotaobuscar:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, FotoModel.CODIGOPHOTOPICKER);
break;
case R.id.pickerbotaosalvar:
Intent it = new Intent();
it.putExtra(FotoModel.EXTRA_FOTO_USUARIO, FotoModel.getByteArrayFromImageview(fotoview));
setResult(RESULT_OK, it);
finish();
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == FotoModel.CODIGOPHOTOPICKER) {
if (resultCode == RESULT_OK) {
Cursor cursor = getContentResolver().query(intent.getData(),
null, null, null, null);
cursor.moveToFirst();
int idx = cursor.getColumnIndex(ImageColumns.DATA);
fileSrc = cursor.getString(idx);
// Carrega a imagem recebida do aplicativo de Seleção.
Bitmap bitmapPreview = BitmapFactory.decodeFile(fileSrc);
fotoview.setImageBitmap(bitmapPreview);
}
}
}
}
[/code]
A minha pergunta é, por que as vezes a imagem aparece no meu ImageView deitada ou de cabeça pra baixo após ser selecionada?