我在asynctask中运行以下代码。但是出于某种原因,onGlobalLayout代码在我的主活动线程中运行。如何阻止这一点,并确保代码在我的asynctask线程中运行?
textViewAll.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@SuppressLint("NewApi")
@Override
public void onGlobalLayout() {
//My code occurs here
}
});
答案 0 :(得分:1)
如何停止此操作并确保代码在我的asynctask中运行 线程?
通过扩展AsyncTask
创建一个内部类,并在doInBackground
方法中执行长操作内容移动所有代码,并且如果想根据长结果更新UI元素操作内容然后返回doInBackground
的结果并以onPostExecute
方法获取。
只需在AsyncTask.execute()
方法中调用onGlobalLayout
。