作为一个初学Android 的萌新想要写一个方法 类似于
public void delay(int ms){。。。。。。}
在其他地方用 delay(1000);调用
希望各位大神老师帮忙解答!!
public void delay(int ms){
new Handler().postDelayed(()->pull(),ms*1000);
}
public void pullActivity(){.........}
这是最简单的了
在其他地方调用可能会存在线程问题,建议写成回调
interface MyInterface{
run();
}
//如果在UI线程中使用,第二个参数可设置为空,如果在子线程中使用,通过实现接口重写run()方法实现。
public void delay(int ms, Interface xxx)
{
new Timer().schedule(new TimerTask(){
public void run() {
if(null != xxx)
{
xxx.run();
}else
{
//xxxx
}
}
},)
}
其实我是想让一个控件显示几秒种后消失,
用delay(3000);代替我上面注释的代码 。因为为我Level1,Level2,3,4,5,6....都用到了这个延迟所以我想写一个方法来调用。
我的Level1,Level2,3,4,5,6...都是继承了LevelTop的, LevelTop extends Activity。
我用了前几个好心人提供的方法好像都不行,当然可能是我没看懂。希望有大神能帮帮忙!!!
view.postDealy(runnable->view.setVisiblity(Gone),time)
大概这样吧