超时调用功能

时间:2015-01-29 11:52:02

标签: java android

我有一个功能

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);

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这应该有效:

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        updateLogs();
    }
}, 100);

如果没有,请声明包含final的{​​{1}}对象:

this

正如Carnal指出的那样,声明一个接口使方法调用public会更清楚,但是因为你是从内部类调用它,所以我认为这样就好了。