动画在AsyncTask中启动/停止

时间:2018-02-12 06:24:27

标签: android android-studio android-asynctask

我需要在预执行中的imageview上启动动画,并在后执行中停止它,但是应用程序强制停止。

  

错误:引起:   android.view.ViewRootImpl $ CalledFromWrongThreadException:只有   创建视图层次结构的原始线程可以触及其视图。

这是我的代码:

    class RefreshAsync extends AsyncTask<Void, Void, Void> {
    Animation anim = AnimationUtils.loadAnimation(getContext(),
            R.anim.rotation);

    @Override
    protected Void doInBackground(Void... arg0) {

    }

    @Override
    protected void onPostExecute(Void result) {

        getActivity().runOnUiThread(new Runnable() {

            @Override
            public void run() {

                imageView.animate().cancel();
            }
        });

        super.onPostExecute(result);
    }

    @Override
    protected void onPreExecute() {
        getActivity().runOnUiThread(new Runnable() {

            @Override
            public void run() {

                imageView.startAnimation(anim);
            }
        });

        super.onPreExecute();
    }

}

感谢提前!!

0 个答案:

没有答案