I want to add spinner values to listview on button click in fragment. Actually my screen contain two spinner and a listview. I just want to add spinner values to the list on button click. I have written some code for it but Iam getting null pointer exception in it. here is my code:
   public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.activity_thirdswipe, container, false);
    arraylistAdd = new ArrayList<DeviceInfo>();
    spinner = (Spinner) rootView.findViewById(R.id.spnDevice);
    spinnerArrayAdapter = new ArrayAdapter<String>(rootView.getContext(), R.layout.spinner_items, spinnerArray); //selected item will look like a spinner set from XML
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(spinnerArrayAdapter);
    spinner = (Spinner) rootView.findViewById(R.id.spnAction);
    spinnerArrayAdapter = new ArrayAdapter<String>(rootView.getContext(), R.layout.spinner_items, spinnerArray); //selected item will look like a spinner set from XML
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(spinnerArrayAdapter);
    btnAdd = (Button) rootView.findViewById(R.id.buttonAdd);
    listOnAdd = (ListView) rootView.findViewById(R.id.listDynamic);     
    deviceType = spinner.getSelectedItem().toString();
    actionType = spinner.getSelectedItem().toString();
    Log.i("item", deviceType +" "+ actionType);
    adp=new CustomListDynamic(getActivity(),R.layout.custom_add_list,arraylistAdd);
    btnAdd.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            info = new DeviceInfo();
            info.setAction(actionType);
            info.setDevice(deviceType);
            arraylistAdd.add(info);
            for(int i=0;i<arraylistAdd.size();i++){
                Log.i("itemArray", arraylistAdd.get(i).getDevice());
            }
            adp.notifyDataSetChanged();
        }
    });
    listOnAdd.setAdapter(adp);
    return rootView;
}
My customAdpter class is following:
    public class CustomListDynamic  extends ArrayAdapter<DeviceInfo> {
Context context;
List<DeviceInfo> objects;   
int layoutResourceId;
    public CustomListDynamic(Context context, int layoutResourceId,
            List<DeviceInfo> rowItems) {
        super(context, layoutResourceId, rowItems);
        this.context = context;
        this.layoutResourceId = layoutResourceId;
        objects = rowItems;
    }
    @Override
    public int getCount() {
        return objects.size();
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
       private class ViewHolder {
            TextView txtDeviceType;
            TextView txtActionType;
        }
       public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
            final DeviceInfo rowItem = getItem(position);
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            if (convertView == null) {
                convertView = inflater.inflate(R.layout.custom_add_list, null);
                holder = new ViewHolder(); 
                holder.txtDeviceType = (TextView) convertView.findViewById(R.id.txtDeviceType);
                holder.txtDeviceType = (TextView) convertView.findViewById(R.id.txtMobileNumber);     
                convertView.setTag(holder);
            } else
                holder = (ViewHolder) convertView.getTag();
                holder.txtDeviceType.setText(rowItem.getDevice());
                holder.txtActionType.setText(rowItem.getAction());
                Log.i("device set", rowItem.getDevice());
            return convertView;
        }          
}
Logcat:
 05-20 18:41:49.301: E/AndroidRuntime(2083):    at       android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
 05-20 19:08:34.661: E/AndroidRuntime(2439): FATAL EXCEPTION: main
 05-20 19:08:34.661: E/AndroidRuntime(2439): java.lang.NullPointerException
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at com.example.test.CustomListDynamic.getView(CustomListDynamic.java:66)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.AbsListView.obtainView(AbsListView.java:2159)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.ListView.makeAndAddView(ListView.java:1831)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.ListView.fillDown(ListView.java:674)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.ListView.fillFromTop(ListView.java:735)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.ListView.layoutChildren(ListView.java:1638)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.AbsListView.onLayout(AbsListView.java:1994)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.View.layout(View.java:14008)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.ViewGroup.layout(ViewGroup.java:4373)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.View.layout(View.java:14008)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.ViewGroup.layout(ViewGroup.java:4373)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.View.layout(View.java:14008)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.ViewGroup.layout(ViewGroup.java:4373)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.View.layout(View.java:14008)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.ViewGroup.layout(ViewGroup.java:4373)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1141)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.View.layout(View.java:14008)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.ViewGroup.layout(ViewGroup.java:4373)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
 05-20 19:08:34.661: E/AndroidRuntime(2439):    at android.view.View.layout(View.java:14008)
Please let me know the solution if anybody has..thanks