fragment 에서 findViewById 사용법 질문드립니다~~
조회수 2034회
이제 막 안드로이드 스튜디오를 사용해봐서 하나도 모르는 초보입니다ㅠㅠㅠㅠ fragment를 사용하는데 findViewById를 어떻게 사용해야할 지 모르겠습니다. 저렇게 실행을 하면 오류가 발생합니다.
오류 : Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference at com.example.myapplication1.Fragment1.onCreate
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
-
Fragment 코드에서 Ctrl+O를 누르시면 Override Members라는 창이 뜨면서 부모 클래스에서 가져와 덮어쓸 수 있는 클래스 멤버들이 나타나게 됩니다.
그 창에서 onViewCreated를 키보드로 입력하시면 알아서 onViewCreated()라는 메서드가 선택이 됩니다.
사진: 링크
이 상태에서 OK를 누르시면 코드에 onViewCreated가 알아서 추가되는데, 이제 거기 안에서 getView()로 가져온 프래그먼트의 최상단 뷰를 통해 findViewById()를 호출하시면 됩니다.
무슨 언어를 쓰시는 지 몰라서 다 준비해봤습니다.
Java
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getView().findViewById(...); }
Kotlin
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) getView().findViewById(...) }
이렇게 해도 잘 안 되면 바로 말씀해주세요!!!
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력