-2

I try to make an array with days of the month but I get NullPointerException at build.

This is my source code:

    Calendar gCal = new GregorianCalendar(2016, Calendar.JANUARY, 1);
    int currentDay = gCal.get(Calendar.DAY_OF_WEEK);
    lows = (GridView)findViewById(R.id.MonthView);
    gCal.add(Calendar.DAY_OF_YEAR, Calendar.SUNDAY - currentDay);
    for(int i=0;i<=34;i++){
        lunas[i] = String.valueOf(gCal.get(Calendar.DAY_OF_MONTH));
        gCal.add(Calendar.DAY_OF_YEAR, 1);
    }

and this is my logCat error:

01-22 14:11:40.221: W/dalvikvm(19656): threadid=1: thread exiting with uncaught exception (group=0x41604898)
01-22 14:11:40.221: E/AndroidRuntime(19656): FATAL EXCEPTION: main
01-22 14:11:40.221: E/AndroidRuntime(19656): java.lang.RuntimeException: Unable to start activity ComponentInfo{ro.thich.programdetura/ro.thich.programdetura.MainActivity}: java.lang.NullPointerException
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2221)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.ActivityThread.access$600(ActivityThread.java:144)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1263)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.os.Looper.loop(Looper.java:137)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.ActivityThread.main(ActivityThread.java:5169)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at java.lang.reflect.Method.invokeNative(Native Method)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at java.lang.reflect.Method.invoke(Method.java:525)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at dalvik.system.NativeStart.main(Native Method)
01-22 14:11:40.221: E/AndroidRuntime(19656): Caused by: java.lang.NullPointerException
01-22 14:11:40.221: E/AndroidRuntime(19656):    at ro.thich.programdetura.MainActivity.onCreate(MainActivity.java:48)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.Activity.performCreate(Activity.java:5133)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-22 14:11:40.221: E/AndroidRuntime(19656):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2185)
01-22 14:11:40.221: E/AndroidRuntime(19656):    ... 12 more

and this is line 48 of my MainActivity.java :

lunas[i] = String.valueOf(gCal.get(Calendar.DAY_OF_MONTH));

I don't understand where the problem is. Can you help me?

Rohit5k2
  • 17,948
  • 8
  • 45
  • 57

1 Answers1

0
public class TestActivity extends AppCompatActivity {

    private String[] lunas = new String[100];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        Calendar gCal = new GregorianCalendar(2016, Calendar.JANUARY, 1);
        int currentDay = gCal.get(Calendar.DAY_OF_WEEK);
        gCal.add(Calendar.DAY_OF_YEAR, Calendar.SUNDAY - currentDay);
        for(int i=0;i<=34;i++){
            lunas[i] = String.valueOf(gCal.get(Calendar.DAY_OF_MONTH));
            Log.d("Test", lunas[i]);
            gCal.add(Calendar.DAY_OF_YEAR, 1);
        }

    }


}
Suhas Bachewar
  • 1,230
  • 7
  • 21