我有一个功能
protected void updateLogs()
在我的活动中(MainActivity)。
我需要延迟调用此函数。我不能使用这个方法https://stackoverflow.com/a/9166354/3883330因为我不能从其他类调用函数,因为它不是静态函数。代码有错误:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
MainActivity.updateLogs();
}
}, 100);
我该如何解决这个问题?
答案 0 :(得分:1)
这应该有效:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
updateLogs();
}
}, 100);
如果没有,请声明包含final
的{{1}}对象:
this
正如Carnal指出的那样,声明一个接口使方法调用public会更清楚,但是因为你是从内部类调用它,所以我认为这样就好了。