- Learning Concurrency in Kotlin
- Miguel Angel Castiblanco Torres
- 134字
- 2021-08-05 10:46:49
Displaying the amount of news that were processed
Let's put a TextView in our layout and display the amount of news that were processed from the feed. Notice that the TextView will be located below the progress bar because of the property app:layout_constraintBottom_toBottomOf:
<android.support.constraint.ConstraintLayout ...>
<ProgressBar ...>
<TextView
android:id="@+id/newsCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/progressBar"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
In order to display the amount of news, we will obtain the TextView by its identifier and set the text to be the amount of news that were obtained:
launch(dispatcher) {
val headlines = fetchRssHeadlines()
val newsCount = findViewById<TextView>(R.id.newsCount)
newsCount.text = "Found ${headlines.size} News"
}
If executed, this code will crash the application with a CalledFromWrongThreadException, as explained earlier in the chapter. This makes sense because all the content of our coroutine is being executed in a background thread, and UI updates must happen on the UI thread.
推薦閱讀
- JBoss Weld CDI for Java Platform
- 大學計算機應用基礎實踐教程
- Python for Secret Agents:Volume II
- SEO智慧
- Modern JavaScript Applications
- Java Web程序設計任務教程
- 微信小程序項目開發實戰
- Symfony2 Essentials
- Visual Basic程序設計
- Mastering Apache Storm
- Getting Started with Python
- Visual Basic程序設計全程指南
- Penetration Testing with the Bash shell
- The Statistics and Calculus with Python Workshop
- Mastering PowerCLI