반응형
Fragment 내에서 간단하게 화면에 Snackbar를 출력하고자 하였다.
정말 쉽지 않은가?
그냥 단순하게
public class FragmentSnackbar extends Fragment {
private View view;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment, container, false);
Snackbar.make(view, "SnackBar 나와라", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
return view;
}
}
이렇게 작성했을 때 Snackbar가 뿅하고 나올줄 알았는데... 아래와 같은 에러가 나온다...
그래서 이를 해결하기 위해
다음과 같이 getActivity().findViewById(android.R.id.content)를 해주면 최상위 뷰를 가져올 수 있게 된다.
Snackbar.make(getActivity().findViewById(android.R.id.content), "SnackBar 나와라", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
결론은 이렇게 잘나온다.
저걸 몰라서 1시간이나 삽질했다 ㅠㅠ 나 처럼 삽질 하는 사람이 없길 바라며 글을 포스팅한다.
출처 : 스택오브플로우
반응형
'개발 공부 기록하기 > - Android' 카테고리의 다른 글
RecyclerView 내부 CheckBox 체크 상태 유지시키기 (3) | 2017.05.18 |
---|---|
View 이벤트 번짐효과 (ripple effect) 주기 (0) | 2017.05.11 |
Android 네트워크 연결 상태 체크 하기 (0) | 2017.04.30 |
[안드로이드] Android Studio에서 Junit 기반 단위 테스트(Unit Test) 환경 구축하기 (0) | 2016.07.27 |
[안드로이드]WebView에 동영상 자동실행 시키기 (0) | 2016.07.20 |