Junior — Middle
Miks vaate uuendamine peab toimuma ainult kasutajaliidese põhiloos?
sobes.tech AI
Vastus AI-lt
Androidis peaks kasutajaliidese (view) uuendamine toimuma ainult peamise (UI) niidi kaudu, kuna UI raamistik ise ei ole niiditurvaline. Kui proovite muuta kasutajaliidese elemente taustaniidist, võib see põhjustada ettearamatut käitumist, krahhe või erandeid.
Peamine niit vastutab sündmuste töötlemise ja kasutajaliidese joonistamise eest, seega kõik UI muudatused peavad läbima selle. UI uuendamiseks teistest niitidest kasutatakse meetodeid, mis lülitavad täitmise peamisele niidile, näiteks runOnUiThread(), Handler, LiveData või View.post().
Näide:
runOnUiThread(() -> {
textView.setText("Uuendatud taustaniidist");
});