Tengo una identificación de recurso de imagen pública int []:
public static int [] prgmImages={R.drawable.im1,R.drawable.im2,R.drawable.im3,R.drawable.im4,R.drawable.im5,R.drawable.im6,R.drawable.im7,R.drawable.im8,R.drawable.im9,R.drawable.im10,R.drawable.im11,R.drawable.im12,R.drawable.im13,R.drawable.im14};
Hago equivalencia para "public static int [] prgmImages", con "load ()":
int[] prgmImages =load(null);
private int[] load (int[] x)
{
for (int i = 0; i <= 14; i++) {
x[i]= getResources().getIdentifier("im"+i+1, "drawable", getPackageName());
}
return x ;
}
pero me sale un error !!! Dónde está el problema ?
05-02 17:17:01.666: E / AndroidRuntime (18971): EXCEPCIÓN FATAL: principal 05-02 17: 17: 01.666: E / AndroidRuntime (18971): java.lang.RuntimeException: no se puede iniciar la actividad ComponentInfo {ir.shahid.varamin / ir.shahid.varamin.list}: java.lang.NullPointerException 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.ActivityThread.performLaunchActivity (ActivityThread.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.ActivityThread.handleLaunchActivity (ActivityThread.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.ActivityThread.access $ 600 (ActivityThread.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.ActivityThread $ H.handleMessage (ActivityThread.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.os.Handler.dispatchMessage (Handler.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.os.Looper.loop (Looper.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.ActivityThread.main (ActivityThread.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en java.lang.reflect.Method.invokeNative (Método nativo) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en java.lang.reflect.Method.invoke (Method.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en com.android.internal.os.ZygoteInit.main (ZygoteInit.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en dalvik.system.NativeStart.main (Método nativo) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): Causado por: java.lang.NullPointerException 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en ir.shahid.varamin.list.load (list.java:146) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en ir.shahid.varamin.list.onCreate (list.java:86) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.Activity.performCreate (Activity.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): en android.app.Instrumentation.callActivityOnCreate (Instrumentation.java) 05-02 17: 17: 01.666: E / AndroidRuntime (18971): ... 12 más
Respuestas
0 para la respuesta № 1Cuando pasa nulo a su método de carga, no es sorprendente que obtenga un error.
¿Por qué no crea una instancia de su matriz en el método load (), como int[] x = new int[15]
, y hacer que el método no tenga parámetros.