- 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
- Instant Testing with CasperJS
- 自己動手寫Java虛擬機
- Getting Started with PowerShell
- Apache Spark Graph Processing
- Nginx Essentials
- QTP自動化測試進階
- Apache Spark 2.x for Java Developers
- Working with Odoo
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- C++從入門到精通(第5版)
- CRYENGINE Game Development Blueprints
- Mastering Embedded Linux Programming
- 軟件測試技術
- IBM RUP參考與認證指南