【发布时间】:2016-08-21 06:46:31
【问题描述】:
这是我的代码:
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() 方法是否只运行一次?
【问题讨论】:
-
你没有启动它。调用 new Thread(runnable).start();
-
您的问题不完整。请先做
-
@P.Rai
Runnable只是一个接口:你不能启动一个接口 -
@pskink,问题不在于界面。问题是关于
implements接口的匿名内部类。 OP 向我们展示了创建实现Runnable的匿名类的新实例的代码,但 OP 没有向我们展示任何对该对象执行任何操作的代码。 (即,调用run()方法的代码在哪里?或者将新的 Runnable 对象交给将调用run()方法的其他对象的代码在哪里?) -
@jameslarge 好的,所以它是
java.lang.Object,它有一个从Runnableiface 获取的附加方法,但你仍然无法“启动”它
标签: java android multithreading runnable android-handler