为什么这个 Volley jsonObjectRequest 在 AppWidgetProvider() 中不能正常工作?

Why is this Volley jsonObjectRequest not working properly in AppWidgetProvider()?

我成功地调用并接收了 json 数据...我没有收到任何错误...Logcat 正在显示正确的信息...我可以在外部硬编码 setTextViewsText请求...但是,我的城市 TextView 在此代码块中没有更改!

我已经为此苦苦挣扎了两天,我已经尝试了我能想到的一切以及我能在 Whosebug 上找到的一切。我对 Kotlin 和 Android 比较陌生,所以请保持温和。 ;)

val queue = Volley.newRequestQueue(context)

views.setTextViewText(R.id.city, "Some City") // this works

val jsonObjectRequest = 
JsonObjectRequest(Request.Method.GET, url, null,
    { response ->
        try {
            val yourCity = response.getString("name")
            views.setTextViewText(R.id.city, yourCity) // this doesn't work
            Log.i("city", "Your City: $yourCity ")
       } catch (e: JSONException) {
            e.printStackTrace()
       }
    }
) { }

queue.add(jsonObjectRequest)
appWidgetManager.updateAppWidget(appWidgetId, views)

Logcat 显示:

I/city: Your City: Mountain View

清单包括:

<uses-permission android:name="android.permission.INTERNET" />

build.gradle:

dependencies {
    ...
    implementation 'com.android.volley:volley:1.1.1'
    ...
}

你做得很好,但你必须在 views.setTextViewText(R.id.city, yourCity) 之后调用 updateAppWidget(),以更新用户屏幕上的视图。