Данные не обновляются в представлении переработчика после вызова API с использованием модификацииAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Данные не обновляются в представлении переработчика после вызова API с использованием модификации

Сообщение Anonymous »

Я пытаюсь выполнить вызов API, получить все данные, связанные с заказами, и показать их в списке. Я протестировал следующее, и они работают должным образом.
1 — Добавление статических данных в представление.
2 — Вызов API возвращает данные и правильно анализируется.
Единственное, чего не происходит, это когда я обновляю данные в адаптере с помощью
orderAdapter!!.notifyDataSetChanged(), он не обновляется данные.
class OrderHistoryActivity : AppCompatActivity() {
lateinit var recyclerView: RecyclerView
var orderAdapter: OrderAdapter? = null
var models: MutableList? = null
lateinit var prefs: Prefs

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_order_history)
recyclerView = findViewById(R.id.orderRecyclerView)
models = ArrayList()
prefs = Prefs(this@OrderHistoryActivity)

GlobalScope.launch(Dispatchers.Default) {
runCatching {
Log.d("FUNCTION", "API TO GET ORDERS INIT ${prefs.token} ${prefs.userId}")
try {
val response = withTimeout(REST_API_TIMEOUT) {
RetrofitClient(this@OrderHistoryActivity).getApi().getOrders(
prefs.token, prefs.userId,"get"
).execute().parseResult()
}

Log.d("FUNCTION", "API TO GET RESULTS -> RESPONSE ${Gson().toJson(response)} ")
response.lastReadDate = System.currentTimeMillis()
var i = 0
(models as ArrayList).clear() // CLEAR OLD LIST //
while (i < response.data.size) {

val data = response.data
val order_id=data.id
val order_status=data.status
val order_date=data.date

Log.d("FUNCTION", "API TO GET IND RESULT -> RESPONSE ${order_id} ${order_status}")

(models as ArrayList).add(OrderModel("${order_id}", "Nov 20, 2024", "${order_status}"))
i++
}

// UPDATE DATA //
orderAdapter!!.notifyDataSetChanged()

Log.d("FUNCTION", "API TO GET IND RESULT MODELS -> RESPONSE ${models}")

} catch (ex: RestApiException) {
var err = OnApiErrorEvent(ex.message ?: ex.toString())
Log.d("FUNCTION","rest exp")

Log.d("FUNCTIONwwr","${err}")

} catch (ex: Exception) {
var err = OnApiErrorEvent(ex.message ?: ex.toString())

} catch (ex: CancellationException) {

} finally {

launch(Dispatchers.Main) {
// viewModel.progress.set(false)
}
}
}
}
for (i in 0..7) {
(models as ArrayList).add(OrderModel("#14524$i", "Nov 3, 2022", "Completed"))
}
recyclerView.setLayoutManager(LinearLayoutManager(this@OrderHistoryActivity))
orderAdapter = OrderAdapter(this@OrderHistoryActivity, models)
recyclerView.setAdapter(orderAdapter)
Log.d("FUNCTION", "RESULT - > STATIC DATA")

}


Подробнее здесь: https://stackoverflow.com/questions/782 ... g-retrofit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»