Выполнить условие если изображение не было выбрано . Андроид
Получаю изображение
Picasso.with(this) // --- Получить Изображение product_image
.load(Config.ADMIN_PANEL_URL + "/upload/" + Simage.replace(" ", "%20"))
.placeholder(R.drawable.ic_loading)
.into(Eimage);
Выбираю другое изображение
Eimage.setOnClickListener(new View.OnClickListener() { // --- Добавить изображение по клику
@Override
public void onClick(View view) {
selectImage();
}
});
private void selectImage() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, IMAGE);
}
Конвертирую
private String convertToString()
{
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,30,byteArrayOutputStream);
byte[] imgByte = byteArrayOutputStream.toByteArray();
return Base64.encodeToString(imgByte,Base64.DEFAULT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode== IMAGE && resultCode==RESULT_OK && data!=null)
{
Uri path = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),path);
Eimage.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Как мне выполнить другое условие где bitmap.compress(Bitmap.CompressFormat.JPEG,100,byteArrayOutputStream); если onClick не было ?
Ответы (1 шт):
Автор решения: denisnumb
→ Ссылка
Если пользователь вышел из меню выбора изображения, через системную/физическую кнопку "назад", так и не выбрав изображение, то Intent data будет иметь пустое
значение(null).
Исходя из этого стройте условие в onActivityResult():
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data == null){
Toast.makeText(getBaseContext(), "Изображение не было выбрано", Toast.LENGTH_SHORT).show();
}
}
Если я вас неправильно понял, и вам нужно условие в другом месте, то тяните Intent data в какой-либо глобальный boolean, от значения которого будет зависеть условие в другом месте.
То есть, если изображение не было выбрано, то:
boolean is_image_picked;
if(data == null){
is_image_picked = false;
}