0
Fragment에서 getActivity() 및 getContext()를 사용해야 할 때 궁금합니다. 항상 getActivity를 사용하지 않는 이유. getActivity가 실패 할 수있는 상황이 있습니까?Fragment에서 getActivity() 및 getContext()는 사용해야합니까?
Fragment에서 getActivity() 및 getContext()를 사용해야 할 때 궁금합니다. 항상 getActivity를 사용하지 않는 이유. getActivity가 실패 할 수있는 상황이 있습니까?Fragment에서 getActivity() 및 getContext()는 사용해야합니까?
getActivityContext()
방법이 있는지 모르겠지만 getContext()
과 getActivity()
의 차이점은 실제로 통화에서 돌아온 유형 이외의 것이 없습니다. 소스에서 v4 Fragment를 반환하기 전에 Context
을 Activity
또는 FragmentActivity
으로 캐스팅하는 편리한 방법 일 뿐이며 일반 Fragment
클래스와 비슷합니다.
/**
* Return the {@link Context} this fragment is currently associated with.
*/
public Context getContext() {
return mHost == null ? null : mHost.getContext();
}
/**
* Return the {@link FragmentActivity} this fragment is currently associated with.
* May return {@code null} if the fragment is associated with a {@link Context}
* instead.
*/
final public FragmentActivity getActivity() {
return mHost == null ? null : (FragmentActivity) mHost.getActivity();
}
또한 활동은 컨텍스트이므로 차이가별로 없습니다.
나는 OP가'Activity # getApplicationContext()'에 대해 이야기하고 있었다고 생각한다 - 어떤 경우에는 실제로 괜찮은 차이가있다. 전체 어플리케이션 라이프 사이클에 묶여있는'Context '를 원한다면'#getApplicationContext()'를 사용하거나, 활동의 라이프 사이클에 묶여있는'Context'를 원한다면'#getActivity()'를 사용하십시오. 미묘한 차이는 있지만, OP의 필요에 따라 큰 영향을 미칠 수 있습니다. – nbokmans
맞아, 내 실수 야. 질문은 getContext() – David