I am using a spinner that has data to be filled in by an Array Adapter. The code returns a run-time error caused by NullPointerException
. I have declared the spinner and initialized it in on create method.The error still persists. Please help me solve the bug.
MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener
{
Button btnCfg, btnConnect, btnClear, btnUpload, btnDownload, btnLoad_on, btnLoad_off;
TextView txtSelectDayTitle;
Spinner spinnerDay;
private String[] arraySpinner;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Automatic Day Picker
String from = getIntent().getStringExtra("FROM");
if (from != null && from.equals("DaysOfTheWeek"))
{
this.arraySpinner = new String[]{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
}
//Initialization of variables
spinnerDay = (Spinner) findViewById(R.id.spinnerDay);
btnCfg = (Button) findViewById(R.id.btnCfg);
btnConnect = (Button) findViewById(R.id.btnConnect);
btnClear = (Button) findViewById(R.id.btnClear);
btnUpload = (Button) findViewById(R.id.btnUpload);
btnDownload = (Button) findViewById(R.id.btnDownload);
btnLoad_on = (Button) findViewById(R.id.btnLoad_on);
btnLoad_off = (Button) findViewById(R.id.btnLoad_off);
txtSelectDayTitle = findViewById(R.id.txtSelectDayTitle);
SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE");
Date d = new Date();
Calendar calendar = null;
try
{
calendar = Calendar.getInstance();
calendar.setTime(d);
}
catch (Exception e)
{
e.printStackTrace();
}
String dayOfTheWeek = dayFormat.format(d);
txtSelectDayTitle.setText(dayOfTheWeek);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arraySpinner);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDay.setAdapter(adapter);
Logcat:
Caused by: java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3741)
at java.util.Arrays.asList(Arrays.java:3728)
at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:163)
at com.example.itimer.MainActivity.onCreate(MainActivity.java:110)
at android.app.Activity.performCreate(Activity.java:7023)
at android.app.Activity.performCreate(Activity.java:7014)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2758)