Android Studio - метод takeToFront должен вызываться из потока пользовательского интерфейса
Так как я импортировал свой проект Eclipse в Android Studio, у меня есть ошибка, связанная с методом takeToFront().
protected Void doInBackground(String... num_t) {
planningTitle = (TextView) findViewById(R.id.planningTitle);
planningTitle.bringToFront(); /* Bring Planning Title in front of Table Layout */
/* Plubish the result to update Layout */
publishProgress(num_t[0]);
return null;
}
Я видел несколько похожих вопросов, касающихся метода getText(), и понял их, но я не могу понять, что делать с этим методом yieldToFront().
Ошибка: метод takeToFront должен вызываться из потока пользовательского интерфейса, в настоящее время предполагаемый поток является рабочим...
Проект в любом случае компилируется, но мне любопытно узнать, где моя ошибка.
Заранее спасибо. C.
1 ответ
Как правило, вы не должны выполнять код, связанный с пользовательским интерфейсом, в doInBackground, вы должны переместить код, связанный с пользовательским интерфейсом, в методы onPostExecute или onProgressUpdate вашего AsyncTask.
Однако есть способы сделать это. Этот ответ может помочь вам:
Android: вызов методов в потоке пользовательского интерфейса из метода AsyncTask doInBackground