Android只运行一次runnable

Luk*_*ley 0 android runnable

嗨我有一个动画,我想延迟一个runnable的开始,但它导致动画循环,我不需要我只是想让它延迟然后运行一次有谁知道如何?

继承我的代码

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_initialsetup);
        handler = new Handler();
        final Runnable r = new Runnable()
        {
            public void run() 
            {
                animations();
                handler.postDelayed(this, 1000);
            }
        };
        handler.postDelayed(r, 1000);
    }


    public void animations(){
        image = (ImageView)findViewById(R.id.su_shirts);
        AnimationMovepos = AnimationUtils.loadAnimation(this, R.anim.shirt_anim);   
        image.startAnimation(AnimationMovepos); 
    }
}
Run Code Online (Sandbox Code Playgroud)

Foa*_*Guy 7

它是循环的,因为在runnable中你通过这个调用再次将它发布到处理程序:

handler.postDelayed(this, 1000);
Run Code Online (Sandbox Code Playgroud)

删除它,它不会循环

  • 他太靠近黑洞了. (5认同)
  • 差不多2017年和10分钟仍在运行. (5认同)
  • 它的 2018 年和 10 分钟仍在运行:p (3认同)