Reputation: 145
I use a spinner in my ListActivity
and get a NullPointerException
at setAdapter
method. I tried to research similar issues on google and stackoverflow and tried their advice but no use. However, this code works in another app of mine.
options = getResources().getStringArray(R.array.options_array);
Spinner s1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, options);
s1.setAdapter(adapter); // Here is the error
s1.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
int index = arg0.getSelectedItemPosition();
Toast.makeText(getBaseContext(),
"You have selected item : " + options[index],
Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {}
});
My spinner xml
<Spinner
android:id="@+id/spinner1"
android:layout_width="25dip"
android:layout_height="25dip"
android:entries="@array/options_array"
android:prompt="@string/spin_prompt"
android:background="@drawable/expander_ic_maximized"
android:layout_alignParentRight="true"
android:layout_below="@id/name_text"
/>
LogCat
05-04 09:23:48.492: ERROR/AndroidRuntime(343): Caused by: java.lang.NullPointerException
05-04 09:23:48.492: ERROR/AndroidRuntime(343): at com.amannain.android.missedcalls.MissedCallsSpinActivity.runSpinner(MissedCallsSpinActivity.java:31)
05-04 09:23:48.492: ERROR/AndroidRuntime(343): at com.amannain.android.missedcalls.MissedCallsSpinActivity.onCreate(MissedCallsSpinActivity.java:21)
Upvotes: 0
Views: 340
Reputation: 566
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, **options**);
Because your options value is null
, you get a NullPointerException
. Check the options
value.
Upvotes: 1
Reputation: 476
are you setting the following in your activity where you have defined your spinner
setContentView(R.layout.main);
this main.xml should have your spinner component defined with id "spinner1"
Upvotes: 0
Reputation: 57
I think the values in the options(which is passed ArrayAdapter) is going null. Try to view the values of "options" in log-cat.
Upvotes: 0
Reputation: 7071
These some modification may help you..
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, options);
Here instead of ArrayAdapter you can use SpinnerAdapter, Please modify your code and let me know.
Upvotes: 0