뷰페이저 갱신 관련해서 질문드립니다.
지금 현재 POSITION_NONE을 통하여 갱신하고있습니다.
3초마다 한번씩 갱신되는데 페이지를 이동중 갱신하면 페이지가 원래 자리로 돌아가거나 버벅거립니다.
그래서 갱신 방법을 변경할려고 하니 아래와 같은 예가 있습니다.
SparseArray< View > views = new SparseArray< View >();
@Override
public Object instantiateItem(View container, int position) {
View root = //refresh할 뷰
((ViewPager) container).addView(root);
views.put(position, root);
return root;
}
@Override
public void destroyItem(View collection, int position, Object o) {
View view = (View)o;
((ViewPager) collection).removeView(view);
views.remove(position);
view = null;
}
@Override
public void notifyDataSetChanged() {
int key = 0;
for(int i = 0; i < views.size(); i++) {
key = views.keyAt(i);
View view = views.get(key);
//refresh할 작업들
}
super.notifyDataSetChanged();
}
이걸 어떻게 적용해야할지를 몰라서 질문드립니다.
refresh 할 뷰 , refresh 할 작업들에 어떤 것들을 넣어야 하는지
위 소스코드에 대해 간단히 설명과 사용법정도 기재해 주시면 감사하겠습니다.
그리고 위의 소스코드를 적용하면 사용자들이 페이지를 이동할때 갱신시 버벅거림과 끊김 문제가 사라질까요?