Harry
Harry

Reputation: 145

NullPointerException - using spinner

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

Answers (4)

Dinesh
Dinesh

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

sush
sush

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

Shubhanshu
Shubhanshu

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

Vishesh Chandra
Vishesh Chandra

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

Related Questions