TimerTask nu are efect

Iată codul meu:

public class SomeName extends MapActivity implements OnClickListener, OnTouchListener{
public Timer t1 = new Timer();
public TimerTask tt;
public long interval = 5000;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.map);
    timer();
}
public final void timer()
{ 

    t1 = new Timer();
    tt = new TimerTask() {
        @Override
        public void run() {
            systemClick();
        }
    };
    t1.scheduleAtFixedRate(tt, 10000, interval);
}
 public void systemClick()
{
      Toast.makeText(getApplicationContext(),"System Button Clicked", 5).show();
}

De fapt, vreau să chem o funcție, unde îmi reîmprospătesc locația.

Dar nu pot să înțeleg de ce nu apuc niciodată toastul pe ecran. Sunt nou la Android.

Multumesc pentru orice ajutor.

0
Doar pentru ca sunteti constient, instantiati t1 de doua ori. Puteți înlocui getApplicationContext() cu this ?
adăugat autor Tushar, sursa
Ai ceva în logcatul tău? Este jurnalul de erori de obicei în partea de jos a Eclipse.
adăugat autor Tushar, sursa

2 răspunsuri

use handler in your Activity

final Handler handlerforadd = new Handler();
Runnable runnableforadd  = new Runnable() {
    @Override
    public void run() {
        handlerforadd.postDelayed(this, 1000);
    }   
};

handlerforadd.postDelayed(runnableforadd, 0);
0
adăugat
Codul handerlerforadd.postDelayed (this, 1000) din run() îi permite să ruleze din nou în 1 secundă
adăugat autor Matt Swanson, sursa

Motivul este că toastul trebuie făcut pe firul UI. În codul dvs. curent, metoda run() este executată pe un fir separat. Aș sugera să vă uitați la acest articol despre procese și fire . @parag este corect folosind un Handler este o modalitate de a obține o referință la firul UI, dar există și alte metode.

0
adăugat
Asta exact. Ar fi trebuit să fie clar de la Logcat deoarece există de obicei un avertisment sau o eroare afișată.
adăugat autor Tushar, sursa
Android dezvoltatori, România — Moldova
Android dezvoltatori, România — Moldova
27 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro iOS: @ro_ios Reguli: https://github.com/js-ro/it-telegram/blob/master/RULES.md