我想在应用程序屏幕上的标签中显示当前时间(小时:分钟)。
是否可以随着时间的变化自动更新?
我的意思是,当分钟(和/或小时)改变时,我希望文本/标签自动更改它的值,而不必总是检查当前时间并更新它。
有谁知道这是否可能?就像 Android API 中有一个特殊的“时间”对象可以连续显示它一样吗?
Thanks.
编辑:如果我想要的不可能,你能建议我一个精心设计的手动执行选项吗?
有谁知道这是否可能?就像有一个特殊的“时间”
Android API 中连续显示它的对象?
没有内置的东西,就像其他人说的那样,你会使用Handler
并自行更新时间。请看下面的一个小例子:
private Handler mHandler = new Handler();
private TextView mText;// the TextView
private int mHour, mMinute; // variables holding the hour and minute
private Runnable mUpdate = new Runnable() {
@Override
public void run() {
mMinute += 1;
// just some checks to keep everything in order
if (mMinute >= 60) {
mMinute = 0;
mHour += 1;
}
if (mHour >= 24) {
mHour = 0;
}
// or call your method
mText.setText(mHour + ":" + mMinute);
mHandler.postDelayed(this, 60000);
}
};
@Override
protected void onResume() {
super.onResume();
// whenever the activity is built or resumed update the time and start posting updates
Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
mText.setText(mHour + ":" + mMinute);
mHandler.postDelayed(mUpdate, 60000); // 60000 a minute
}
@Override
protected void onStop() {
super.onStop();
mHandler.removeCallbacks(mUpdate);// we need to remove our updates if the activity isn't focused(or even destroyed) or we could get in trouble
}
而不是setText()
部分于Runnable
你可以调用你的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)