无法理解 android 中的 Runnable

Not able to understand Runnable in android

这是我的代码:

public class MainActivity extends AppCompatActivity {

    Runnable runnable;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        runnable=new Runnable() {
            @Override
            public void run() {
                Log.i("hello","runnable") ;
            }
        };
    }

}

为什么不打印日志?我需要一个处理程序然后在其中传递可运行对象吗? run() 方法只运行一次吗?

目前你只是定义你的runnable,但它永远不会被调用。有一些方法可以使用可运行的,例如在线程中或也在处理程序中。

这是您无法更新 UI 的线程示例:

new Thread(runnable).start();

如果您需要更新 UI,您应该使用这样的处理程序:

new Handler().post(runnable); // do as soon as possible
new Handler().postDelayed(runnable, 300); // do it after 300ms

通常它没有意义,但您也可以像这样将 runnable 用作一种回调:

runnable.run();

通过多次使用上面的三个例子,一个runnable可以被多次使用。