Mein Code ist wie folgt:Rxjava AndroidSchedulers.mainThread() bedeutet UI-Thread?
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe ({
adapter.notifyDataSetChanged()
})
, aber ich habe einen Fehler: nur das Original-Thread, der eine Ansicht Hierarchie erstellt seine Ansichten berühren kann. so ändere ich es:
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe ({
runOnUiThread(Runnable {
adapter.notifyDataSetChanged()
})
}
Es macht sense.So Ich bin verwirrt. Ich dachte, die .observeOn(AndroidSchedulers.mainThread())
bedeutet, dass der Code im Subscribe-Block auf ui Thread läuft, aber wie habe ich diesen Fehler bekommen?
Hat der Stacktrace Punkt 'adapter.notifyDataSetChanged()'? Mb ist der Fehler in einem anderen Teil der Kette? Im Allgemeinen bedeutet ja "mainThread()" androids UI-Thread. – AndroidEx
Ich weiß nicht, wie man herausfinden kann, ob Stacktrace auf adapter.notifyDataSetChanged zeigt –