When my arraylist does not have an item in it, the CollectionsFragment fails to open and crashes my application.
The CollectionsFragment can only be accessed if an object has been added to it already.
package fragments;
/*Imports*/
public class CollectionsFragment extends Fragment {
private static List<Article> mArticleList = new ArrayList<>();
private ListView lvArticles;
private CollectionAdapter mAdapter;
public CollectionsFragment() {}
public static CollectionsFragment newInstance() {
    Bundle args = new Bundle();
    CollectionsFragment fragment = new CollectionsFragment();
    fragment.setArguments(args);
    return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    new MyTask().execute();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_collections, container, false);
    lvArticles = (ListView) view.findViewById(R.id.lvArticles);
    mAdapter = new CollectionAdapter(getContext(), R.layout.row, mArticleList);
    lvArticles.setAdapter(mAdapter);
    lvArticles.setEmptyView(view.findViewById(R.id.empty));
    return view;
}
private class MyTask extends AsyncTask<Article, Article, Void> {
    @Override
    protected Void doInBackground(Article... articles) {
        Article item = (Article) getArguments().getSerializable("Article");
        mArticleList.add(item);
        return null;
    }
    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        mAdapter.notifyDataSetChanged();
        lvArticles.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Article item = mArticleList.get(position);
                Intent intent = new Intent(getContext(), WebViewActivity.class);
                intent.putExtra("URL", item.getUrl());
                getContext().startActivity(intent);
            }
        });
        lvArticles.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                Article item = mArticleList.get(position);
                createDialog(view, item);
                return true;
            }
        });
    }
    private void createDialog(View view, final Article item) {
        final Dialog d = new Dialog(getContext());
        d.setContentView(R.layout.dialog_collections);
        d.setTitle("Remove article?");
        d.setCancelable(true);
        Button b = (Button) d.findViewById(R.id.button1);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mArticleList.remove(item);
                mAdapter.notifyDataSetChanged();
            }
        });
        d.show();
    }
}
}
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String models.Article.getAuthor()' on a null object reference
                                                                        at adapters.CollectionAdapter.getView(CollectionAdapter.java:49)
                                                                        at android.widget.AbsListView.obtainView(AbsListView.java:2347)
                                                                        at android.widget.ListView.makeAndAddView(ListView.java:1864)
                                                                        at android.widget.ListView.fillDown(ListView.java:698)
                                                                        at android.widget.ListView.fillFromTop(ListView.java:759)
                                                                        at android.widget.ListView.layoutChildren(ListView.java:1659)
                                                                        at android.widget.AbsListView.onLayout(AbsListView.java:2151)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1077)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
                                                                        at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
                                                                        at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1367)
                                                                        at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:849)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1193)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
                                                                        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
                                                                        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
                                                                        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
                                                                        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                        at android.view.View.layout(View.java:15718)
                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5039)
                                                                        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2129)
                                                                        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1886)
                                                                        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1103)
                                                                        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5944)
                                                                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:788)
                                                                        at android.view.Choreographer.doCallbacks(Choreographer.java:601)
                                                                        at android.view.Choreographer.doFrame(Choreographer.java:571)
                                                                        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774)
                                                                        at android.os.Handler.handleCallback(Handler.java:739)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                        at android.os.Loo
Adapter
package adapters;
/* Imports */
public class CollectionAdapter extends ArrayAdapter {
    private List<Article> articleList;
    private int resource;
    private final LayoutInflater inflater;
    public CollectionAdapter(Context context, int resource, List<Article> objects) {
        super(context, resource, objects);
        articleList = objects;
        this.resource = resource;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = inflater.inflate(resource, null);
            holder.author = (TextView) convertView.findViewById(R.id.a_author);
            holder.title = (TextView) convertView.findViewById(R.id.a_title);
            holder.desc = (TextView) convertView.findViewById(R.id.a_desc);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.author.setText(articleList.get(position).getAuthor());
        holder.title.setText(articleList.get(position).getTitle());
        holder.desc.setText(articleList.get(position).getDescription());
        return convertView;
    }
    private class ViewHolder {
        private TextView author;
        private TextView title;
        private TextView desc;
    }
}
 
     
     
     
     
    