'java.lang.Class java.lang.Object.getClass ()' для пустой ссылки на объект? - PullRequest
0 голосов
/ 19 мая 2019

Я занимаюсь разработкой новостного приложения и получаю следующее исключение

 Process: edgar.yodgorbek.sportnews, PID: 28111
     java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object
 reference
         at edgar.yodgorbek.sportnews.sportactivities.BBCSportFragment$1.onResponse(BBCSportFragment.java:69)
         at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
         at android.os.Handler.handleCallback(Handler.java:883)
         at android.os.Handler.dispatchMessage(Handler.java:100)
         at android.os.Looper.loop(Looper.java:214)
         at android.app.ActivityThread.main(ActivityThread.java:7116)
         at java.lang.reflect.Method.invoke(Native Method)
         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:925)

в моем классе фрагментов

ниже файла BBCSportsFragment.java

public class BBCSportFragment extends Fragment implements ArticleAdapter.ClickListener {

    public List<Article> articleList = new ArrayList<>();
    @ActivityContext
    public Context activityContext;
    @ApplicationContext
    public Context mContext;

    @BindView(R.id.recycler_view)
    RecyclerView recyclerView;
    BBCSportFragmentComponent bbcSportFragmentComponent;
    BBCFragmentContextModule bbcFragmentContextModule;
    private SportNews sportNews;
    private ArticleAdapter articleAdapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_bbcsport, container, false);
        ButterKnife.bind(this, view);
        SportInterface sportInterface = SportClient.getApiService();
        Call<SportNews> call = sportInterface.getArticles();
        call.enqueue(new Callback<SportNews>() {
            @Override
            public void onResponse(Call<SportNews> call, Response<SportNews> response) {

                    sportNews = response.body();
                    if (sportNews != null && sportNews.getArticles() != null) {
                        articleList.addAll(sportNews.getArticles());
                    }
                    articleAdapter = new ArticleAdapter(articleList, sportNews);
                    ApplicationComponent applicationComponent;
                    applicationComponent = MyApplication.get(Objects.requireNonNull(getActivity())).getApplicationComponent();
                    bbcSportFragmentComponent = (BBCSportFragmentComponent) DaggerApplicationComponent.builder().contextModule(new ContextModule(getContext())).build();
                    bbcSportFragmentComponent.injectBBCSportFragment(BBCSportFragment.this);
                    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext(applicationComponent));
                    recyclerView.setLayoutManager(layoutManager);
                    recyclerView.setAdapter(articleAdapter);
                }


            @Override
            public void onFailure(Call<SportNews> call, Throwable t) {

            }
        });


        return view;


    }

    private Context getContext(ApplicationComponent applicationComponent) {
        return null;
    }
}
...