Comment vérifier si ImageView contient Bitmap ou pas?
Je suis en œuvre si un ImageView
a bitmap puis il doit enregistrer l'image de imageview de mémoire interne ,sinon une autre image dans la mémoire interne de l'application.
voici le code:_
croppedImage = cropImageView.getCroppedImage();
croppedImageView = (ImageView) findViewById(R.id.croppedImageView);
croppedImageView.setImageBitmap(croppedImage);@Override
public void onClick(View v) {
//TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btn_save:
counter++;
if(croppedImageView.getDrawable() != null)
{
System.out.println("nullllllllllllll");
try {
Bitmap photo = ((BitmapDrawable)croppedImageView.getDrawable()).getBitmap();
FileOutputStream mFileOutStream1 = openFileOutput("IMG" + counter + ".png", Context.MODE_PRIVATE);
photo.compress(CompressFormat.JPEG, 100, mFileOutStream1);}
catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();}
}else{
System.out.println("notttttnullllllllllllll");
try {
FileOutputStream mFileOutStream1 = openFileOutput("IMG" + counter + ".png", Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, mFileOutStream1);
} catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
Editor editor = def.edit();
editor.putInt("value", counter);
editor.commit();
break;
default:
break;
}
}
OriginalL'auteur amita | 2013-12-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le vérifier comme suit:
Il suffit de cocher seulement la valeur Bitmap comme ci-dessous :
qu'entendez-vous par "pas de donner une réponse"? Voyez-vous d'autres sortie de
System.out.println
? Voir stackoverflow.com/q/2220547/827110Pas de son pas d'impression de n'importe quoi .
Veuillez utiliser
Log.d
à la sortie du journal delogcat
ou utiliser un débogueur pour vérifier. Également cliquer sur le lien que j'ai posté dans le commentaire et de le lire.ce code ne fonctionne pas pour moi... va toujours à la condition else...
OriginalL'auteur Amulya Khare
La accepté de répondre à n'est pas correct pour au moins un cas: lorsque vous avez défini précédemment
ImageView
sBitmap
ànull
via:fait il ne serait PAS réglé à l'interne
Drawable
ànull
. Donc, le projet de la accepté de répondre à vérifier vous donnera un résultat incorrect.Vous pouvez facilement trouver ce qu'il se passe dans le
ImageView
le code source:Sens qu'au lieu de définir son interne
Drawable
ànull
, il définit une nouvelleBitmapDrawable
avecnull
Bitmap
.Par conséquent, la bonne méthode pour vérifier si un
ImageView
a un peu de sensDrawable
est quelque chose comme:De plus, en regardant ce comportement dans le code source, on peut penser que
null
Drawble
est quelque chose de Android SDK, les développeurs essaient d'éviter. C'est pourquoi vous devriez éviter de compter surgetDrawable() == null
vérifier dans votre code.OriginalL'auteur Alexander Abakumov