I'm learning how to code and develop apps for android, and I'm currently trying to bild a News app. But I'm getting this erro when I try to run the app: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference.
The apps was working fine at first, when was just one Activity. But then I tried to bild it using viewpagers, I fixed a bunch of errors, but this one I can't find out what is happening. I read some things about how to fix a NullPointerException but I still can't fix it.
Here is the code:
PLEASE, IGNORE THE COMMENTS AND DOCUMENTATIONS IN PORTUGUESE, I JUST WRITED IT ANY WHICH WAY, UNORGANIZED. (I WAS PLANNING TO CARE ABOUT IT AFTER FINISH THE CODE).
 package com.example.android.news;
import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.support.annotation.Nullable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class NewsFragment extends Fragment implements android.support.v4.app.LoaderManager.LoaderCallbacks<List<News>> {
    public NewsFragment(){
        // Required empty public constructor
    }
    //Contexto do app
    private Context mContext = getContext();
    public static final String LOG_TAG = NewsFragment.class.getName();
    /** Adapter da lista de news */
    private NewsAdapters mAdapter;
    /** URL para o dado da notícia (news) do dataset do The Gardian */
    private static final String THE_GARDIAN_DATASET =
            "https://content.guardianapis.com/search?api-key=4a8dba55-ace9-40bf-8a3c-05a1d2eebd65";
    /**
     * Valor constante para o ID do loader de news. Podemos escolher qualquer inteiro.
     * Isto só importa realmente se você estiver usando múltiplos loaders.
     */
    private static final int NEWS_LOADER_ID = 1;
    /** TextView que é mostrada quando a lista é vazia */
    private TextView mEmptyStateTextView;
    /** ProgressBar que é mostrada enquanto o app busca dados do servidor */
    private ProgressBar mLoadingSpinner;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_news , container, false);
        final ArrayList<News> newses = new ArrayList<News>();
        // Acha uma referência para a {@link ListView} no layout
        ListView newsListView = (ListView) rootView.findViewById(R.id.list);
        if (getTag() != null){
            // Cria um novo adapter que pega uma lista vazia de news como entrada
            mAdapter = new NewsAdapters(mContext, newses);
            // Seta o adapter na {@link ListView}
            // para que a lista pode ser populada na interface do usuário
            newsListView.setAdapter(mAdapter);
        }
        //Acha uma referencia para a {@link TextView}
        mEmptyStateTextView = (TextView) rootView.findViewById(R.id.empty_state_text_view);
        //Acha uma referencia para a {@link ProgressBar}
        mLoadingSpinner = (ProgressBar) rootView.findViewById(R.id.loading_spinner);
        //Seta um emptyState {@ link emptyView} na ListView {@ link earthquakeListView}
        newsListView.setEmptyView(mEmptyStateTextView);
        newsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Acha a news atual que foi clicado
                News currentNews = mAdapter.getItem(position);
                //Converte a URL da String em um objeto URI (para passar no construtor da Intent)
                Uri newsUri = Uri.parse(currentNews.getmWebUrl());
                // Cria um novo intent para visualizar o URI
                Intent webIntent = new Intent(Intent.ACTION_VIEW, newsUri);
                // Envia a intent para lançar uma nova activity
                startActivity(webIntent);
            }
        });
        //Cria um objeto da classe para monitorar a conexão com a internet
        ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
        //Verifica o estado da conexão
        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
        if (isConnected){
            // Obtém uma referência ao LoaderManager, a fim de interagir com loaders.
            LoaderManager loaderManager = getLoaderManager();
            // Inicializa o loader. Passa um ID constante int definido acima e passa nulo para
            // o bundle. Passa esta activity para o parâmetro LoaderCallbacks (que é válido
            // porque esta activity implementa a interface LoaderCallbacks.
            loaderManager.initLoader(NEWS_LOADER_ID, null, this);
        } else {
            mLoadingSpinner.setVisibility(View.GONE);
            mEmptyStateTextView.setText(R.string.no_internet);
        }
        return rootView;
    }
    @Override
    public Loader<List<News>> onCreateLoader(int id, Bundle args) {
        Uri baseUri = Uri.parse(THE_GARDIAN_DATASET);
        Uri.Builder uriBuilder = baseUri.buildUpon();
        // Criar um novo loader para a dada URL
        return new NewsLoader(getContext(), uriBuilder.toString());
    }
    @Override
    public void onLoadFinished(Loader<List<News>> loader, List<News> news) {
        //Hide the LoadingSpinner when the loading is finished
        mLoadingSpinner.setVisibility(View.GONE);
        //Seta o texto a ser mostrado caso não haja news a serem mostrados
        mEmptyStateTextView.setText(R.string.empty_state);
        // Limpa o adapter de dados de news anteriores
        mAdapter.clear();
        // Se há uma lista válida de {@link News}s, então os adiciona ao data set do adapter.
        // Isto ativará a atualização da ListView.
        if (news != null && !news.isEmpty()) {
            mAdapter.addAll(news);
        }
    }
    @Override
    public void onLoaderReset(Loader<List<News>> loader) {
        // Reseta o Loader, então podemos limpar nossos dados existentes.
        mAdapter.clear();
    }
}
And the logcat:
    09-29 16:17:44.553 26644-26644/com.example.android.news E/AndroidRuntime: FATAL EXCEPTION: main
                                                                          Process: com.example.android.news, PID: 26644
                                                                          java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
                                                                              at android.view.LayoutInflater.from(LayoutInflater.java:233)
                                                                              at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:181)
                                                                              at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:166)
                                                                              at com.example.android.news.NewsAdapters.<init>(NewsAdapters.java:0)
                                                                              at com.example.android.news.NewsFragment.onCreateView(NewsFragment.java:69)
                                                                              at android.support.v4.app.Fragment.performCreateView(Fragment.java:2192)
                                                                              at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
                                                                              at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
                                                                              at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
                                                                              at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
                                                                              at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363)
                                                                              at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149)
                                                                              at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
                                                                              at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1984)
                                                                              at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626)
                                                                              at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
                                                                              at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
                                                                              at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
                                                                              at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
                                                                              at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
                                                                              at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
                                                                              at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
                                                                              at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                                                                              at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
                                                                              at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
                                                                              at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
                                                                              at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
                                                                              at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
                                                                              at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
                                                                              at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                                                                              at com.android.internal.policy.DecorView.onMeasure(DecorView.java:849)
                                                                              at android.view.View.measure(View.java:21051)
                                                                              at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2583)
                                                                              at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1642)
                                                                              at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1893)
                                                                              at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1522)
                                                                              at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7098)
                                                                              at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
                                                                              at android.view.Choreographer.doCallbacks(Choreographer.java:702)
                                                                              at android.view.Choreographer.doFrame(Choreographer.java:638)
09-29 16:17:44.553 26644-26644/com.example.android.news E/AndroidRuntime:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
                                                                              at android.os.Handler.handleCallback(Handler.java:751)
                                                                              at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                              at android.os.Looper.loop(Looper.java:154)
                                                                              at android.app.ActivityThread.main(ActivityThread.java:6682)
                                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
I just can't figure it out what is wrong. I would apreciate if someone could help me!
 
     
     
    