I'm working on a quiz based app. Each question has 4 options. Question is a text view while for options I'm using a viewpager so that the user can swipe the 4 options that will be loaded dynamically from the server.
I'm getting NullPointerException for Layout inflater.
This is the line I get null value:  
LayoutInflater inflater = (LayoutInflater)  
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_item, container, false);
class MyAdapter extends PagerAdapter { 
    int NumberOfPages = 4;
    Context context;
    ArrayList<String> option1List; .....
Help and guidance is highly appreciated.
Error :
E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NullPointerException at quizapp.android.mohit.com.quizapp.MyAdapter.instantiateItem(Questions.java:485)
Here is my Mainactivity code :
  public class Questions extends ActionBarActivity {
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_questions);
  dbHelper = new DataBaseHelper(getApplicationContext());
viewPager = (ViewPager) findViewById(R.id.viewPager);
adapter = new MyAdapter(option1List, option2List, option3List,option4List);
viewPager.setAdapter(adapter);
class MyAdapter extends PagerAdapter {
    int NumberOfPages = 4;
    Context context;
    LayoutInflater inflater;
    View itemView;
    ArrayList<String> option1List;
    ArrayList<String> option2List;
    ArrayList<String> option3List;
    ArrayList<String> option4List;
    public MyAdapter(ArrayList<String> option1List, ArrayList<String> option2List, ArrayList<String> option3List, ArrayList<String> option4List) {
        this.option1List = option1List;
        this.option2List = option2List;
        this.option3List = option3List;
        this.option4List = option4List;
    }
    public int getCount(){
        return NumberOfPages;
    }
    public boolean isViewFromObject(View container, Object obj) {
        return container == obj;
        // return container == (View) obj;
    }
    public Object instantiateItem(ViewGroup container, int position) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View itemView = inflater.inflate(R.layout.viewpager_item, container, false);
        // Declare Variables
        TextView option1, option2, option3, option4;
        // Locate the TextViews in viewpager_item.xml
        option1 = (TextView) itemView.findViewById(R.id.tv_option1);
        option2 = (TextView) itemView.findViewById(R.id.tv_option2);
        option3 = (TextView) itemView.findViewById(R.id.tv_option3);
        option4 = (TextView) itemView.findViewById(R.id.tv_option4);
        // Capture position and set to the TextViews
        option1.setText(option1List.get(0));
        option2.setText(option2List.get(0));
        option3.setText(option3List.get(0));
        option4.setText(option4List.get(0));
        // Add viewpager_item.xml to ViewPager
        container.addView(itemView);
        return itemView;
    }
    public void destroyItem(ViewGroup container, int position, Object obj) {
       container.removeView((LinearLayout)obj);
    }
}
 
     
     
    