【发布时间】:2020-02-16 10:58:24
【问题描述】:
所以我做了一个应用程序,我试图在单击按钮时显示进度条。
仅当我将 View.VISIBLE 放在处理程序之外时才会显示。
Kotlin 代码:
button.setOnClickListener {
progressBar.visibility = View.VISIBLE
runBlocking {
try {
//HTTP request removed because of confidentiality, assume I'm setting delay
} catch (e: Exception) {
Log.e(tag, "Error: " + e.message)
Toast.makeText(this@MainActivity, "Could not find page", Toast.LENGTH_LONG)
.show()
}
}
progressBar.visibility = View.GONE
}
按钮 XML:
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:alpha="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:visibility= "invisible"/>
我已经搜索了几个小时,但找不到与我的案例相关的内容。
想要的输出: 获取点击按钮时的进度条。
【问题讨论】:
-
你在哪里运行 runBlocking()?是 IO 调度器还是 UI 线程?