Currently developing a mobile app using java with android studio. (Beginner) I have 3 fragments (ToDo,Doing,Done) with on top a tablayout(ToDo,Ongoing,Finished) and a toolbar with an add button.
The add button should create a list allowing the user to modify the content of each list(Recyclerviewer)
Obtain error: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.recyclerview.widget.RecyclerView.setAdapter(androidx.recyclerview.widget.RecyclerView$Adapter)' on a null object reference
Below is a screenshot
Code
public class kanbanManagement extends Fragment {
// TODO: Rename and change types of parameters
TabLayout tabLayout;
private ViewPager2 viewPager2;
private MyFragment adapter;
private RecyclerView recyclerView2;
private com.example.myhouse.recyclerKanbanAdapter recyclerKanbanAdapter;
ArrayList<kanbanItems>listKanban;
Button btn_Add;
public kanbanManagement() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment_kanban_management, container, false);
tabLayout=view.findViewById(R.id.tabLayout);
viewPager2=view.findViewById(R.id.viewPager2);
tabLayout.addTab(tabLayout.newTab().setText("To Do"));
tabLayout.addTab(tabLayout.newTab().setText("On going"));
tabLayout.addTab(tabLayout.newTab().setText("Finished"));
FragmentManager fragmentManager = getParentFragmentManager();
adapter = new MyFragment(fragmentManager , getLifecycle());
viewPager2.setAdapter(adapter);
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager2.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
tabLayout.selectTab(tabLayout.getTabAt(position));
}
});
recyclerView2=view.findViewById(R.id.taskList);
listKanban= new ArrayList<>();
btn_Add=view.findViewById(R.id.btnAdd);
recyclerKanbanAdapter= new recyclerKanbanAdapter(getActivity(),listKanban);
btn_Add.setOnClickListener(v -> {
recyclerView2.setAdapter(recyclerKanbanAdapter);
});
return view;
}
}