Wie um zu überprüfen, ob Bildansicht enthält Bitmap-oder nicht?
Ich die Umsetzung, wenn eine ImageView
hat bitmap soll es dann speichern Sie das Bild aus Bildansicht im internen Speicher ,sonst ein anderes bitmap im internen Speicher der Anwendung.
hier ist der 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;
}
}
InformationsquelleAutor amita | 2013-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie es wie folgt:
Überprüfen Sie einfach nur Bitmap-Wert wie folgt :
was meinst du mit "nicht zu geben keine Antwort"? Siehst du andere Ausgabe aus
System.out.println
? Siehe stackoverflow.com/q/2220547/827110Keine seiner nicht drucken nichts .
Bitte verwenden Sie
Log.d
um log-Ausgabe zulogcat
oder einen debugger verwenden, um zu überprüfen. Auch klicken Sie auf den link, den ich gepostet haben in den Kommentar, und Lesen Sie es.dieser code ist nicht für mich arbeiten... geht immer zum else-Bedingung...
InformationsquelleAutor Amulya Khare
Den akzeptierte Antwort ist nicht korrekt mindestens einem Fall: wenn Sie bisher gesetzt
ImageView
sBitmap
zunull
über:eigentlich es wäre NICHT das interne
Drawable
zunull
. So, das vorgeschlagenen in der akzeptierten Antwort überprüfen Sie geben Sie Falsches Ergebnis.Können Sie leicht herausfinden, was Los ist in der
ImageView
source code:Bedeutung, dass anstelle der Einstellung seiner internen
Drawable
zunull
setzt es in einen neu erstelltenBitmapDrawable
mitnull
Bitmap
.Daher die richtige Methode zu überprüfen, ob ein
ImageView
hat etwas sinnvollesDrawable
ist etwas wie:Darüber hinaus schaut, dieses Verhalten in den source-code, könnte man annehmen, dass
null
Drawble
ist etwas, das Android-SDK-Entwickler zu vermeiden versuchen. Das ist, warum Sie sollten vermeiden, sich aufgetDrawable() == null
check-in-code an alle.InformationsquelleAutor Alexander Abakumov