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

Fragment 에서 setAdapter질문

0 추천
프레그먼트에서 Listview를 만들었는데

 

프레그먼트 특성상 onCreate 에서 UI를 그릴수 없으니

 

onCreateView 에서 listView에 setAdapter 를 하였습니다.

 

그러다보니 OnCreateView는 onResume과 비슷하게 탭이 열릴때마다 불려져 UI를 다시 그려 줍니다.

 

그래서 listview가 변경되지 않았는데도 의미없는 setAdapter를 하게 되어 포퍼먼스 측면에서 좀 떨어집니다.. ㅠ

 

프레그먼트에서 setAdapter를 좀더 효율성있게 사용하려면 어떻게 해야할까요 ? ㅠㅠ
now882002 (3,860 포인트) 님이 2015년 2월 11일 질문

1개의 답변

0 추천
 
채택된 답변

adapter 를 프래그먼트 멤버 변수로 갖고 있다가

onResume 또는 onCreateView 시

 

if (adapter == null) {

    adapter = new ListAdapter();

}

listView.setAdapter(adapter);

 

정도로 해주시면 됩니다.

다만 프래그먼트가 onDestroy 호출되어 완전히 없어졌다면

내부 adapter 도 없어진 상태므로 항상 새로운 어댑터 호출하게 되겠죠

mamondebaltob (32,750 포인트) 님이 2015년 2월 11일 답변
now882002님이 2015년 2월 11일 채택됨
...