Ich lese in einem Dokument, dass wenn wir Runnable
implementieren, wir einen neuen Thread erstellen und jeden Code innerhalb dieses Threads ausführen, und wir verwenden Handler, um UI-Updates auf dem uithread durchzuführen.Handler und Runable
Aber in meinem Beispiel unten
private class AutoIncrementer implements Runnable {
@Override
public void run() {
if(plusButtonIsPressed){
incrementValue();
handler.postDelayed(new AutoIncrementer(), REPEAT_INTERVAL_MS);
}
}
}
Hier verwendete ich handler.postDelayed()
die Benutzeroberfläche mit inkrementierten Wert und auf onLongClickListener()
plusButton.setOnLongClickListener(
new View.OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
plusButtonIsPressed = true;
handler.post(new AutoIncrementer());
return false;
}
}
);
ich handler.post(new AutoIncrementer())
verwenden ..... Warum Muss ich diese verwenden, wenn ich die UI durch handler.postDelayed()
aktualisiere ???