Using AsyncTask you can do something like this to update a Button named button1
private class UpdateButton extends AsyncTask {
@Override
protected Void doInBackground(Void... params) {
int i = 0;
while ( true ) {
publishProgress("" + i++);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
return (Void)null;
}
}
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
button1.setText(values[0]);
}
}
to start button1 update
(new UpdateButton()).execute((Void)null);