官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 河东区| 临夏市| 曲沃县| 马龙县| 平阳县| 修水县| 天峻县| 天祝| 南充市| 荥经县| 聊城市| 昂仁县| 常宁市| 南康市| 个旧市| 宜春市| 类乌齐县| 禹州市| 昌黎县| 夏津县| 罗江县| 卓资县| 任丘市| 五台县| 萨迦县| 景泰县| 麦盖提县| 板桥市| 兴仁县| 南溪县| 上犹县| 太仆寺旗| 德惠市| 隆昌县| 江门市| 宜阳县| 南开区| 乐安县| 兴义市| 剑阁县| 青龙|