Защото поради някои странни причини, когато използвам AsyncTask за свързване към уеб страница, потребителският интерфейс на приложението ми изостава почти до точката на замразяване, докато AsyncTask се свързва с уеб страницата.
Мислех, че това е така, защото връзката обикновено отнема доста дълго, поне 4 секунди.
Искам да бъда в състояние да актуализирате моя TextView след моята Тема са готови, но как да направя това в Android освен използването на AsyncTask?
Отговори:
1 за отговор № 1Има няколко начина да направите това:
- Използвайте Threads или Runnables
- Използвайте манипулатори, като изпращате съобщения до него
- Използвайте метода RunOnUIThread
- Използвайте метода (това е любимият ми пост). Не е необходимо да се използва инстанция за контекст / дейност
Например, можете да създадете нов Handler () и когато искате да изпълните код в основната нишка, направете:
public static Handler interfaceHandler = new Handler();
...
mInterfaceHandler.post(new Runnable() {
@Override
public void run() {
//Your stuff
}
});
За да завършите информацията, всички изгледи в Androidможе да направи тази публикация (Runnable). Този метод добавя възможност за изпълнение към задачата им, поради тази причина е препоръчително да не използвате изгледи, защото приложението ще се забави. Статичният манипулатор е перфектен за тази работа и е много лесен за изпълнение
0 за отговор № 2
Нещо като това трябва да работи
runOnUiThread(new Runnable() {
public void run() {
// do some stuff here
}
});