2017-03-31 4 views

답변

3

getActivityContext() 방법이 있는지 모르겠지만 getContext()getActivity()의 차이점은 실제로 통화에서 돌아온 유형 이외의 것이 없습니다. 소스에서 v4 Fragment를 반환하기 전에 ContextActivity 또는 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(); 
} 

또한 활동은 컨텍스트이므로 차이가별로 없습니다.

+0

나는 OP가'Activity # getApplicationContext()'에 대해 이야기하고 있었다고 생각한다 - 어떤 경우에는 실제로 괜찮은 차이가있다. 전체 어플리케이션 라이프 사이클에 묶여있는'Context '를 원한다면'#getApplicationContext()'를 사용하거나, 활동의 라이프 사이클에 묶여있는'Context'를 원한다면'#getActivity()'를 사용하십시오. 미묘한 차이는 있지만, OP의 필요에 따라 큰 영향을 미칠 수 있습니다. – nbokmans

+0

맞아, 내 실수 야. 질문은 getContext() – David