반응형
Fragment에서 findViewById()함수를 호출하면 아래와 같은 에러가 발생하며 호출이 되지 않습니다.
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
이 에러가 발생하는 이유는 Fragment View가 inflate하기전에 컴포넌트를 호출하기 때문에
NullPointerException 에러가 발생한 것입니다.
getView() 메서드를 통해서도 해결 할 수 있지만 Fragment onCreateView함수에서 View 객체에 현재 View에 가져와
그 View에서 원하는 컴포넌트를 찾으면 해결 됩니다.
public class TabFramgent extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_tab_framgent, container, false);
TextView txtId = (TextView)v.findViewById(R.id.txtId);
return v;
}
...
}
반응형
'programming > android' 카테고리의 다른 글
[Android / 안드로이드] Fragment 데이터 전달 (0) | 2018.10.01 |
---|---|
[Android / 안드로이드] EditText 값 변경 이벤트 (0) | 2018.09.30 |
[Android / 안드로이드] 마시멜로우(6.0) 이상 권한체크 (0) | 2018.09.03 |
[Android / 안드로이드] aar 라이브러리 추가하기 (0) | 2018.08.29 |
[Android / 안드로이드] Multidex Error (0) | 2018.08.28 |
댓글