프래그먼트 안에 리싸이클러뷰를 삽입하고 리싸이클러뷰를 누르면 새로운 엑티비티로 가는 프로그램을 만드는데 어떻게 해야할지 모르겠습니다. 프래그먼트 안에 리싸이클러뷰를 만드는것 까지는 했는데 클릭했을때 엑티비티로 이동하는것이 안됩니다. 리싸이클러뷰 아이템 안에 텍스트뷰contentsTextview 값을 빼서 새로운 엑티비티로 보낼려고하는데
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.widget.TextView.getText()' on a null object reference
이런 오류가 뜨네요 ㅠ 도와주세요ㅠ
public class Fragment1 extends Fragment {
public static final int REQUEST_CODE_MENU = 101;
RecyclerView recyclerView;
NoteAdapter adapter;
TextView contentsTextView;
Context context;
OnTabItemSelectedListener listener;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
this.context = context;
if (context instanceof OnTabItemSelectedListener) {
listener = (OnTabItemSelectedListener) context;
}
}
@Override
public void onDetach() {
super.onDetach();
if (context != null) {
context = null;
listener = null;
}
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment1, container, false);
contentsTextView = rootView.findViewById(R.id.contentsTextView);
initUi(rootView);
loadNoteListData();
return rootView;
}
private void initUi(ViewGroup rootView) {
recyclerView = rootView.findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
adapter = new NoteAdapter();
recyclerView.setAdapter(adapter);
adapter.setOnItemClickListener(new OnNoteItemClickListener() {
@Override
public void onItemClick(NoteAdapter.ViewHolder holder, View view, int position) {
showEditActivity();
}
});
}
public void showEditActivity(){
Intent intent = new Intent(getContext(), EditActivity.class);
String text = contentsTextView.getText().toString();
intent.putExtra("text", text);
startActivityForResult(intent, REQUEST_CODE_MENU);
}