2016-01-17 4 views
0

Im, используя эти классы для моих закладок:Раздвижной вкладки перегрузочный Фрагмента после изменения Tab

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabLayout.java

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabStrip.java

У меня есть 3 вкладки: Tab1 TAB2 и TAB3.

В Tab3 Im загружает контакты с моего телефона и добавляет их в мой ListView. Это занимает некоторое время, пока оно не будет успешно загружено (200 контактов).

Теперь моя проблема: когда я меняю свою вкладку с Tab3 на Tab1, процесс загрузки начинается снова. Таким образом, фрагмент снова загружается с нуля.

Так что каждый раз, когда я перехожу на вкладку 1 и возвращаюсь к вкладке 3, все должно быть загружено снова. Кто-то получил Идею найти решение для этого? Как я могу предотвратить перезагрузку этого фрагмента?

@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.tab_friends, container, false); 

    LV_Contacts = (ListView)v.findViewById(R.id.LV_Contacts); 
    if(adapter_contacts == null) 
     new load_contacts().execute(); 



    return v; 
} 

EDIT: Когда я изменяю от TAB3 до TAB2 его работы fine.It только продолжается, но когда я иду в Tab1 все начинается с самого начала, и он строит Listview снова

ответ

3

все, что вам нужно, это добавить это

viewPager.setOffscreenPageLimit(3); 

более подробно прочитать документ

http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)

+1

Спасибо, чувак! Это был метод, который я искал :) –

+1

, если он помогает, тогда ответьте пожалуйста :) – awaistoor

+1

Да, по умолчанию для viewpager находится фрагмент в представлении, один до, и один после. Вот почему вы видели это поведение. Это стандартно. Это решение может быть проблемой по линии, если вы решите переставить вкладки или добавить дополнительные элементы/функции UI в фрагмент в пределах лимита, а CO COSE - проблему с памятью/производительностью, если уровень API низкий (более раннее устройство = более медленный процессор в целом), поэтому некоторые пользователи испытают значительное отставание. – Frank