Android Studio - 必须从 UI 线程调用 bringToFront
Android Studio - bringToFront must be called from the UI thread
自从我将我的 Eclipse 项目导入到 Android Studio 后,我遇到了有关 bringToFront() 方法的错误。
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() 方法的类似问题并理解了它们,但我不知道如何处理这个 bringToFront() 方法。
错误:必须从 UI 线程调用方法 bringToFront,当前推断线程是工作线程...
无论如何,该项目正在编译,但我很想知道我的错误在哪里。
提前致谢。
C.
通常你不应该在doInBackground中执行UI相关代码,你应该将UI相关代码移动到AsyncTask的onPostExecute或onProgressUpdate方法中。
不过,有很多方法可以做到。这个答案可能对您有帮助:
Android : Calling the methods on UI thread from AsyncTask doInBackground method
自从我将我的 Eclipse 项目导入到 Android Studio 后,我遇到了有关 bringToFront() 方法的错误。
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() 方法的类似问题并理解了它们,但我不知道如何处理这个 bringToFront() 方法。
错误:必须从 UI 线程调用方法 bringToFront,当前推断线程是工作线程...
无论如何,该项目正在编译,但我很想知道我的错误在哪里。
提前致谢。 C.
通常你不应该在doInBackground中执行UI相关代码,你应该将UI相关代码移动到AsyncTask的onPostExecute或onProgressUpdate方法中。
不过,有很多方法可以做到。这个答案可能对您有帮助:
Android : Calling the methods on UI thread from AsyncTask doInBackground method