Following is a quick code snippet of how to use runOnUiThread() method :
this@MainActivity.runOnUiThread(java.lang.Runnable { progressBar.visibility = View.GONE })
Android runOnUiThread Example
Android runOnUiThread Example – In this Android Tutorial, we shall learn how to use runOnUiThread with an Example Android Application.
runOnUiThread runs the specified action on the UI thread. If the current thread is the UI thread, then the action is executed immediately. If the current thread is not the UI thread, the action is posted to the event queue of the UI thread.
If you try to touch view of UI thread from another thread, you will get Android CalledFromWrongThreadException.
Following is an example Android Application demonstrating the usage of runOnUiThread() method.

Create Android Application with Kotlin Support with following details and rest values to default.
Application Name | runOnUiThread Example |
Company name | tutorialkart.com |
Minimum SDK | API 21: Android 5.0 (Lollipop) |
Activity | Empty Activity |
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" tools:context="com.tutorialkart.runonuithreadexample.MainActivity"> <TextView android:id="@+id/textview_msg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </LinearLayout>
MainActivity.kt
package com.tutorialkart.runonuithreadexample import android.support.v7.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // start some dummy thread that is different from UI thread Thread(Runnable { // performing some dummy time taking operation var i=0; while(i<Int.MAX_VALUE){ i++ } // try to touch View of UI thread this@MainActivity.runOnUiThread(java.lang.Runnable { this.textview_msg.text = "Updated from other Thread" }) }).start() } }