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

Другие вопросы по тегам