elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema: Objeto como parámetro.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema: Objeto como parámetro.  (Leído 1,688 veces)
ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Problema: Objeto como parámetro.
« en: 27 Julio 2014, 17:57 pm »

Hola, qué tal:

Tengo un par de funciones, de igual nombre, diferenciadas en que una recibe una arreglo de objetos y la otra solamente uno. Dentro de las funciones los objetos son "inicializados":

Código
  1. // Esta función funciona perfectamente.
  2. void decodeRes(Bitmap[] bmp, int w, int h, String code){
  3. Bitmap tmpLoad;
  4.  
  5. for(int i = 0; i < bmp.length; i++){
  6. tmpLoad = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier(code + i, "raw", context.getPackageName()));
  7. bmp[i] = Bitmap.createScaledBitmap(tmpLoad, w, h, true);
  8.        }
  9. }
  10.  
  11. // He aquí el problema:
  12. void decodeRes(Bitmap bmp, int w, int h, String code){
  13. Bitmap tmpLoad;
  14. tmpLoad = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier(code, "raw", context.getPackageName()));
  15. bmp = Bitmap.createScaledBitmap(tmpLoad, w, h, true);
  16.        System.out.println(bmp.getWidth()); //<----- Todo correcto, imprime el ancho del bitmap.
  17. }
  18.  
  19. // {...}, código, código...
  20.  
  21. Bitmap unPatito;
  22. decodeRes(unPatito, 24, 24, "patito0");
  23. System.out.println(unPatito.getWidth()); //<------ Null pointer exception!
  24.  

El problema está en la segunda función, puesto que el objeto que se pasa para ser "inicializado", sigue saliendo nulo.

Ya le he dado varias vueltas al código y no encuentro el error, incluso probé con:

Código
  1. void decodeRes(Bitmap bmp, int w, int h, String code){
  2. Bitmap tmpLoad;
  3. tmpLoad = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier(code, "raw", context.getPackageName()));
  4. unPatito = Bitmap.createScaledBitmap(tmpLoad, w, h, true); //<----- Escribiendo la variable directamente sí funciona.
  5. }
  6.  

Gracias. espero me haya explicado, y también su ayuda.

¡Saludos!


En línea

LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 234


¿En que vida harás lo que en esta no?


Ver Perfil WWW
Re: Problema: Objeto como parámetro.
« Respuesta #1 en: 30 Julio 2014, 15:07 pm »

MM ya provastes con inicializar la variable?
Código
  1. Bitmap unPatito;


En línea

Nasty35

Desconectado Desconectado

Mensajes: 77


Ver Perfil
Re: Problema: Objeto como parámetro.
« Respuesta #2 en: 4 Agosto 2014, 19:22 pm »

En teoría debería ir... probaría con algo así:
Código
  1. Bitmap decodeRes(int w, int h, String code){
  2.    Bitmap tmpLoad;
  3.    tmpLoad = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier(code, "raw", context.getPackageName()));
  4.    return Bitmap.createScaledBitmap(tmpLoad, w, h, true);
  5. }
  6.  
  7. Bitmap unPatito = decodeRes( 24, 24, "patito0");
  8. System.out.println(unPatito.getWidth());
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines