개발 공부 기록하기/- Android
Fragment 내에서 Snackbar 사용하기
soulduse
2017. 5. 1. 22:07
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시간이나 삽질했다 ㅠㅠ 나 처럼 삽질 하는 사람이 없길 바라며 글을 포스팅한다.
출처 : 스택오브플로우
반응형