Android-viewPager, jak zrobić aby tylko jeden wątek w tle się wykonywał

0

Mam sobie viewPager-a i w nim dwa fragmenty A i B. We fragmencie B, pobieram dane z api(oczywiście w wątku w tle).Nad tym viewPagerem mam jeszcze dwa przyciski a i b(przycisk a powoduje, że w viewpagerze ustawiamy jest fragment A, a przycisk b,że fragment B). I teraz jak szybko będe klikał kombinacje przycisków a,b,a,b,a,b itd. to w ramach fragmentu B odpali mi się wiele wątków w tle, a ja chciałbym czegoś takiego uniknąć- czyli dojść do takiej sytuacji, że jeśli przechodzę do fragmentu B to zawsze będzie mi się wykonywał tylko jeden wątek w tle.

Z góry dzięki za wszelką pomoc!

0

Tuż przed odpaleniem wątku wyłączasz przycisk: BtnB.setEnabled(false);
Po zakończeniu wątku włączasz przycisk: BtnB.setEnabled(true);
W trakcie działania wątek sprawdza czy wciąż jesteśmy na podstronie B jeżeli nie to sam siebie przerywa.

0

A co to jest BtnB?

0

Przycisk B -> Button B

0

Ale w jaki sposób ten wątek ma się sam przerywać?

0

http://bfy.tw/3PxR
Samo-przerywanie: pętla główna wątku:

while(CzyJestAktywnyPanelB())
  {
  }
0

Ale przecież jak tuż przed odpaleniem wątku zrobie, że panel jest nieaktywny to jak jest możliwe wejście do tej pętli while?

0
kdmrulez napisał(a):

Ale przecież jak tuż przed odpaleniem wątku zrobie, że panel jest nieaktywny to jak jest możliwe wejście do tej pętli while?

kdmrulez napisał(a):

Nad tym viewPagerem mam jeszcze dwa przyciski a i b

_13th_Dragon napisał(a):

Tuż przed odpaleniem wątku wyłączasz przycisk: BtnB.setEnabled(false);

0

CzyJestAktywnyPanelB()!=BtnB.setEnabled(false) ?

0

Nie bardzo rozumiem, co mi da te sprawdzanie czy panel jest aktywny i ta cala petla while?. Przeciez w momencie, w ktorym uzytkownik wejdzie do tego fragmentu B(i bedzie tam przebywal) to ten watek wpadnie w nieskonczona petle?

1 użytkowników online, w tym zalogowanych: 0, gości: 1