Benim kod şu şekildedir:Rxjava AndroidSchedulers.mainThread() UI iş parçacığı anlamına mı geliyor?
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe ({
adapter.notifyDataSetChanged()
})
ama bir hata var: görüşlerini dokunabilirsiniz görünüm hiyerarşisi yarattı Sadece orijinal konu. Ben karıştı sense.So yapar
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe ({
runOnUiThread(Runnable {
adapter.notifyDataSetChanged()
})
}
: yüzden değiştirin. .observeOn(AndroidSchedulers.mainThread())
, abone bloğundaki kodun, ui dizisinde çalıştırıldığı anlamına geldiğini düşünmüştüm, ancak bu hatayı nasıl aldım? Yapmanız gerekenler
Only the original thread that created a view hierarchy can touch its views.
geçerli:
Sen fark olarak UI iş parçacığı üzerinde abone olamazsınız.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
, bir özel durumu alırsınız:
StackTrace, 'adapter.notifyDataSetChanged() 'olarak işaret ediyor mu? Mb hata zincirin başka bir yerinde mi? Genellikle, evet, 'mainThread()', android'in UI iş parçacığı anlamına gelir. – AndroidEx
StackTrace'in Adapter.notifyDataSetChanged –