마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Fragment 에서 getActivity() 할 경우 Null 값 나오는 현상에 대한 질문

0 추천

 

안녕하세요. 

 

Fragment 안에서 AsyncTask 로 doInBackground 에서 getActivity()를 실행하면

 

항상은 아닌데, 종종 null 값이 떨어집니다.

 

다른 Fragment로 10~20번 정도 왔다갔다 하면 null 발생을 하더라고요..

 

그래서 onAttach에서 activity를 전역변수로 받아서 사용해 보니까 Null은 안나오는데 문제는 종종 화면이 멈춰서  

 

안바뀌는 현상이 생기더라고요..그 이후부턴 멈춰있다가 화면이 검정색으로 변하는 현상이 생기네요..

 

그래서 activity가 연결완료가 안되서 그러나 싶어 onActivityCreate 에서 AsyncTask를 호출도 해봤는데

 

위와 같은 현상이 생기더라고요.

 

머가 문제 일까요? 해결방법을 아시는 분 답변 좀 부탁드립니다.

 

제발 좀 알려주세요~(현제 몽키 테스트중)

안드정복 (320 포인트) 님이 2013년 4월 8일 질문

2개의 답변

0 추천

onActivityCreate 부분이나 다른 부분이 어떻게 구성되어 있는지 잘 몰라서 확답은 못드리겠지만..

저도 예전에 그런적이 있어서 프래그먼트 생성 시 생성자 파라미터로 context 넘겨서 처리한적도 있습니다.

지금은 안 그러지만..;;

동기화인생 (3,640 포인트) 님이 2013년 4월 8일 답변
0 추천
AsyncTask면 다른 Fragment로 전환되어서 그런것 아닌가요? 보통 onCreateView 함수가 끝나기 전에 호출하거나, detach가 되고 난 이후(다른 Fragment를 실행한 후) 실행되면 null이 돌아오는것으로 기억합니다...
익명사용자 님이 2013년 4월 8일 답변
...