본문 바로가기
개발 공부 기록하기/- Android

Fragment 내에서 Snackbar 사용하기

by soulduse 2017. 5. 1.
반응형

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시간이나 삽질했다 ㅠㅠ 나 처럼 삽질 하는 사람이 없길 바라며 글을 포스팅한다.



출처 : 스택오브플로우


What is android.R.id.content?



반응형