package com.netfluke.sergey.handler; // https://examples.javacodegeeks.com/android/core/os/handler/android-handler-example/ import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.ProgressBar; public class MainActivity extends Activity { private Handler handler; private ProgressBar progressBar; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); handler = new Handler(); progressBar = (ProgressBar) findViewById(R.id.progressBar1); progressBar.setMax(20); } public void startProgress(View view) { new Thread(new Task()).start(); } class Task implements Runnable { @Override public void run() { for (int i = 0; i <= 20; i++) { final int value = i; try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } handler.post(new Runnable() { @Override public void run() { progressBar.setProgress(value); } }); } } } }