Android利用Timer刷新时间
来源:互联网 发布:网店源码是什么 编辑:程序博客网 时间:2024/05/03 05:56
随喜结佛缘
场景描述:
每隔一秒刷新一下布局中TextView的显示时间。
布局文件代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.timerefresh.MainActivity" > <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></RelativeLayout>
JAVA代码(利用Timer实现):
package com.example.timerefresh;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.ActionBarActivity;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;public class MainActivity extends ActionBarActivity {public static final String TAG = "MainActivity";private TextView tvTime;//时间刷新记时器private Timer timeTimer;//时间记时器任务private TimerTask timeTimerTask;//消息助手private Handler messageHandler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tvTime = (TextView) findViewById(R.id.tv_time);messageHandler = new MessageHandler();initTimeTimer();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}/** * 初始化时间计时器 */public void initTimeTimer() {timeTimer = new Timer(true);timeTimerTask = new TimeTimerTask();if (null != timeTimer) {timeTimer.schedule(timeTimerTask, 1 * 1000);}}/** * 取消时间计时器 */public void removeTimeTimerTask() {if (null != timeTimer && null != timeTimerTask) {timeTimerTask.cancel();}}/** * 时间刷新任务 */class TimeTimerTask extends TimerTask {@Overridepublic void run() {Message message = new Message();Bundle bundle = new Bundle();// 存放数据 SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");//设置日期格式String currencyTime = df.format(new Date());bundle.putString("currencyTime", currencyTime);message.setData(bundle);messageHandler.sendMessage(message);}}/** * 刷新时间 * @author Administrator */class MessageHandler extends Handler {@Overridepublic void handleMessage(Message msg) {// 此处可以更新UI Bundle bundle = msg.getData();String currencyTime = bundle.getString("currencyTime");MainActivity.this.tvTime.setText(currencyTime);MainActivity.this.tvTime.invalidate();Log.i(TAG, "=============刷新时间===========" + currencyTime);initTimeTimer();}}}
0 0
- Android利用Timer刷新时间
- Android:用定时器 timer 刷新界面
- Android :用Timer定时器刷新界面
- ASP之利用updatepanel和Timer实现局部定时刷新
- 利用Timer实现间隔时间段后的循环刷新
- RTC,system timer, android时间日期管理
- Android Timer启动任务更新时间显示
- 利用Timer类实现"显示时间"的功能
- C#文本框中,利用Timer实现时间实时显示
- 利用 Timer 控件在页面上显示实时时间
- android利用ListView滑动刷新
- Android中使用Timer配合postInvalidate()刷新View
- Android中使用Timer配合postInvalidate()刷新View
- Android 一直不断动态刷新ui使用计时器TImer
- Timer无刷新定时器
- Timer无刷新定时器
- asp.net安装ajax后添加timer控件刷新时间的问题
- Android利用Timer实现倒计时效果小demo
- 二十二、oracle pl/sql分类二 函数
- 负载均衡Load Balance学习
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
- android网络图片查看器
- 日经社説 20141222 起業を妨げぬファンド規制に
- Android利用Timer刷新时间
- hdu 5146 暴力水题
- 日经社説 20141222 原油安に気を緩めず最適な調達体制築け
- ios 下拉刷新上拉加载集成。
- 第17周项目5-玩时间日期
- javaScript 模块化开发 AMD(异步加载 require.js) 和CMD( sea.js) 1
- iOS UITableView 刷新某一个cell 或 section
- Android开发学习之三 Log,DDMS和AVD
- 第十七周项目4-两人生日相差多少天