- 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.
推薦閱讀
- C及C++程序設計(第4版)
- JIRA 7 Administration Cookbook(Second Edition)
- 游戲程序設計教程
- 微信小程序開發解析
- Python:Master the Art of Design Patterns
- The Complete Coding Interview Guide in Java
- Java面向對象程序設計
- Java零基礎實戰
- Java程序設計案例教程
- Mastering Python Design Patterns
- Modern C++ Programming Cookbook
- Python預測之美:數據分析與算法實戰(雙色)
- 從“1”開始3D編程
- 菜鳥成長之路
- Tkinter GUI Application Development Blueprints