定期更新片段ui

时间:2016-12-05 18:58:54

标签: android android-fragments timer

我的主要活动中有一个定期更新数据库数据的方法,如下所示:

    public static void timedTask(int timer) {
    myTimer.cancel();
    myTimer = new Timer();
    myTimer.schedule(new TimerTask() {
        @Override
        public void run() {

         dbint =   db.dbpull();
        }
    }, 0, timer);
}

现在的问题是,如何传递我从此方法获得的值,并使用数据更新片段内的TextView?

2 个答案:

答案 0 :(得分:1)

我们假设您在活动布局中定义了一个ID为O(sqrt(N))的片段 所以我们可以片段实例

example_fragment

并且可以在Fragment类中创建更新数据的方法

ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);

并参与您的活动

public void updateFragment(Data ..){
          // update view
}

答案 1 :(得分:0)

最简单的解决方案是将计时器放在<div> <input type="text"> <label for="NAME">Name</label> </div> <div> <input type="email"> <label for="EMAIL">Email</label> </div>的{​​{1}}内。

因此,当您将片段连接到其视图时,您将启动计时器(您可以在Fragment中保存时间戳,以允许跨活动/片段生命周期的一致性)。当您在片段中创建计时器时,在它到期后,您可以直接从计时器回调中访问onCreateView()

请确保在SharedPreferences

中停用计时器