我的主要活动中有一个定期更新数据库数据的方法,如下所示:
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?
答案 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
。