NullPointerException при попытке ссылки на элементы из файла XML
Здравствуйте, Гайз! Я столкнулся с Исключением с нулевым указателем при попытке ссылки на recyclerView из XML-файла. Я использовал Butterknife, чтобы внедрить представления, я также попытался использовать обычный метод findViewById(), но я все еще получаю то же исключение nullpointer. Может ли кто-нибудь помочь мне понять, откуда исходит ошибка? заранее спасибо
Файл DashBoardFragment.java
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.cyanidesystems.gceq_bank.R;
import com.cyanidesystems.gceq_bank.adapters.QuestionPaperRecyclerViewAdapter;
import com.cyanidesystems.gceq_bank.models.QuestionPaperModel;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* A simple {@link Fragment} subclass.
*/
public class DashBoardFragment extends Fragment {
List<QuestionPaperModel> questionPapers;
@BindView(R.id.rvQuestPapers)
RecyclerView rvQuestPapers;
Unbinder unbinder;
public DashBoardFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_dash_board, container, false);
initializeData();
unbinder = ButterKnife.bind(this, view);
LinearLayoutManager llm = new LinearLayoutManager(this.getContext());
rvQuestPapers.setHasFixedSize(true);//Null pointer exception arises from this line when i want to reference a recyclerview in fragment_dash_board.xml
rvQuestPapers.setLayoutManager(llm);
QuestionPaperRecyclerViewAdapter questionPaperRecyclerViewAdapter = new QuestionPaperRecyclerViewAdapter(this.getContext(), questionPapers);
rvQuestPapers.setAdapter(questionPaperRecyclerViewAdapter);
return view;
}
private void initializeData() {
questionPapers = new ArrayList<>();
questionPapers.add(new QuestionPaperModel("01", "COMPUTER SCIENCE", "0595", "I", "2017", "music.jpg"));
questionPapers.add(new QuestionPaperModel("02", "PYHSICS", "0565", "I", "2016", "music.jpg"));
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
}
фрагмент_dash_board.xml файл
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.cyanidesystems.gceq_bank.fragments.DashBoardFragment">
<!-- TODO: Update blank fragment layout -->
<android.support.v7.widget.RecyclerView
android:id="@+id/rvQuestPapers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</FrameLayout>
Логическое сообщение об исключении null
05-13 12:27:09.703 3631-3631/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cyanidesystems.gceq_bank/com.cyanidesystems.gceq_bank.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.cyanidesystems.gceq_bank.fragments.DashBoardFragment.onCreateView(DashBoardFragment.java:50)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2354)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171)
at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:192)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:560)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
at android.app.Activity.performStart(Activity.java:5018)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)