在asynctask thread Android中运行View监听器回调代码

时间:2015-11-16 18:21:05

标签: java android multithreading android-asynctask callback

我在asynctask中运行以下代码。但是出于某种原因,onGlobalLayout代码在我的主活动线程中运行。如何阻止这一点,并确保代码在我的asynctask线程中运行?

    textViewAll.getViewTreeObserver().addOnGlobalLayoutListener(
            new OnGlobalLayoutListener() {
                @SuppressLint("NewApi")
                @Override
                public void onGlobalLayout() {

                                //My code occurs here

                }
            });

1 个答案:

答案 0 :(得分:1)

  

如何停止此操作并确保代码在我的asynctask中运行   线程?

通过扩展AsyncTask创建一个内部类,并在doInBackground方法中执行长操作内容移动所有代码,并且如果想根据长结果更新UI元素操作内容然后返回doInBackground的结果并以onPostExecute方法获取。

只需在AsyncTask.execute()方法中调用onGlobalLayout