Vamos lá, Matheus. Força. Preciso de vc para não desistir, cara kkkkkk
Deu NEP. Veja se meu raciocínio está certo, por favor rs
Para utilizar a parte data.getData()
do seu código (1ª linha), coloquei Uri selectedImage
como atributo da classe. Por quê?
Para eu usá-lo no método que tira a foto ou pega na galeria. Assim:
protected void onActivityResult(int requestCode, int resulteCode, Intent data) {
super.onActivityResult(requestCode, resulteCode, data);
if (requestCode == RESULT_TIRAR_FOTO) {
if (data != null) {
Bundle bundle = data.getExtras();
if (bundle != null) {
fotoDaFamilia = (Bitmap) bundle.get("data");
campoFotoFamilia.setImageBitmap(fotoDaFamilia);
this.selectedImage = data.getData(); ///////////////////////////////// USEI ELE AQUI
}
}
} else if (requestCode == RESULT_PEGA_FOTO_GALERIA && resulteCode == RESULT_OK) {
carregarImagemGaleria(data);
}
}
public void carregarImagemGaleria(Intent data) {
InputStream stream = null;
try {
if (fotoDaFamilia != null) {
fotoDaFamilia.recycle();
}
stream = getContentResolver().openInputStream(data.getData());
fotoDaFamilia = BitmapFactory.decodeStream(stream);
this.selectedImage = data.getData();///////////////////////////////// USEI ELE AQUI
campoFotoFamilia.setImageBitmap(fotoDaFamilia);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (stream != null) {
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Aí, no método preencheCamposEdicao()
que eu coloquei o restante do código:
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String imgDecodableString = cursor.getString(columnIndex);
cursor.close();
campoFotoFamilia.setImageBitmap(BitmapFactory.decodeFile(imgDecodableString));
Muita coisa errada?