Как проверить, есть ли у ImageView растровое изображение с Android Studio - PullRequest
0 голосов
/ 21 сентября 2018

Я пытался проверить, есть ли в ImageView растровое изображение, и оно не работает ..

Я пытался

Bitmap bitmap = ((BitmapDrawable) IdFront.getDrawable()).getBitmap();

, но он возвращается""

и imageViewOne.getDrawable() == null

и наконец:

private boolean hasImage(@NonNull ImageView view) {
 Drawable drawable = view.getDrawable();
 boolean hasImage = (drawable != null);

 if (hasImage && (drawable instanceof BitmapDrawable)) {
     hasImage = ((BitmapDrawable)drawable).getBitmap() != null;
 }

 return hasImage;

Но растровое изображение возвращает "" и не равно нулю.

enter image description here

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Вы можете сделать это следующим образом:

        ImageView view = findViewById(R.id.imageView);
        view.setImageResource(R.drawable.sample);
        BitmapDrawable drawable = (BitmapDrawable) view.getDrawable();
        Bitmap bitmap = drawable.getBitmap();

Если вы хотите узнать значение переменной drawable или bitmap при отладке, вы можете увидеть

drawable.toString() 
bitmap.toString()

, как показано ниже на рис.:

enter image description here

0 голосов
/ 21 сентября 2018

Попробуйте как показано ниже:

boolean hasImage = (view.getDrawable() == null);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...