Reputation:
Good Evening,
so I am out of clue. I'm getting a
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference
Basically I know null object reference means that something is not assigned (Yes, I am new to programming!).
Spinner spinner = findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.palWerte, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter); //here the error happens
spinner.setOnItemSelectedListener(this);
[...]
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_kaz:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new KalorienzählerFragment()).commit();
break;
case R.id.nav_kar:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new KalorienrechnerFragment()).commit();
break;
case R.id.nav_erp:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new ErnährungsplanFragment()).commit();
break;
case R.id.nav_trp:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new TrainingsplanFragment()).commit();
break;
case R.id.nav_trh:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new TrainingshilfeFragment()).commit();
break;
case R.id.nav_ala:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new AlarmFragment()).commit();
break;
}
drawer.closeDrawer(GravityCompat.START);
return true;
}
Upvotes: 1
Views: 7445
Reputation: 141
Your code:Spinner spinner = findViewById(R.id.spinner1);
This should be Spinner spinner = (Spinner)findViewById(R.id.spinner1);
Or if it is in a fragment
builder.setView(fragmentView);
(Spinner)fragmentView.findViewById(R.id.spinner1);
Hope this help!
Upvotes: 1
Reputation: 191
Probably you used wrong file. Check where U have spinner and where U try set the adapter.
For example spinner exists in settings_activity.xml
, but you try set adapter in main_activity.java
Upvotes: 1
Reputation: 41
It is looks like findViewById(R.id.spinner1);
is returning null
.
Please, try to check a layout in setContentView
function in your activity, your Spinner
must defined in the layout with id "@+id/spinner1"
Upvotes: 2