2011-09-24 8 views
9

Tengo un mapa de bits que debe mostrarse en una nueva actividad, así que lo busco y en la actividad abierta trato de cargarlo pero obtengo una nullPointerException. Aquí puedo guardar la imagen:Android, guardando y cargando un mapa de bits en caché de diferentes actividades

File cacheDir = getBaseContext().getCacheDir(); 
File f = new File(cacheDir, "pic"); 

try { 
    FileOutputStream out = new FileOutputStream(
      f); 
    pic.compress(
      Bitmap.CompressFormat.JPEG, 
      100, out); 
    out.flush(); 
    out.close(); 

} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Intent intent = new Intent(
     AndroidActivity.this, 
     OpenPictureActivity.class); 
startActivity(intent); 

y luego en la nueva actividad que intento abrirlo:

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 

    File cacheDir = getBaseContext().getCacheDir(); 
    File f = new File(cacheDir, "pic");  
    FileInputStream fis = null; 
    try { 
     fis = new FileInputStream(f); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    Bitmap bitmap = BitmapFactory.decodeStream(fis); 

    ImageView viewBitmap = (ImageView) findViewById(R.id.icon2); 
    viewBitmap.setImageBitmap(bitmap); 
    setContentView(R.layout.open_pic_layout); 
+2

Debería mencionar qué línea arroja la NullPointerException. –

Respuesta

4

Sólo tienes que comprobar su código:

ImageView viewBitmap = (ImageView) findViewById(R.id.icon2); 
viewBitmap.setImageBitmap(bitmap); 
setContentView(R.layout.open_pic_layout); 

Usted ha escrito findViewById() antes de configurar la Vista de contenido. Está incorrecto.

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.open_pic_layout); 

    // do your operations here 
    } 
+0

omg, necesito un descanso), funciona bien ahora, gracias por señalar que = = – user924941

+0

Debería haber mirado el número de línea de error en la salida de logcat. Siempre tenga esto en cuenta que nunca se olvide de verificar la salida de logcat. :) –

Cuestiones relacionadas