设为首页 加入收藏

TOP

Android界面刷新实现
2014-11-24 11:28:00 来源: 作者: 【 】 浏览:0
Tags:Android 界面 刷新 实现

Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。


Android利用Handler刷新界面


实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新;而在线程中通过sendMessage发送界面更新消息。



// 在onCreate()中开启线程


new Thread(new GameThread()).start();、



// 实例化一个handler


Handler myHandler = new Handler()


{


//接收到消息后处理


public void handleMessage(Message msg)


{


switch (msg.what)


{


case Activity01.REFRESH:


mGameView.invalidate(); //刷新界面


break;


}


super.handleMessage(msg);


}


};



class GameThread implements Runnable


{


public void run()


{


while (!Thread.currentThread().isInterrupted())


{


Message message = new Message();


message.what = Activity01.REFRESH;


//发送消息


Activity01.this.myHandler.sendMessage(message);


try


{


Thread.sleep(100);


}


catch (InterruptedException e)


{


Thread.currentThread().interrupt();


}


}


}


}


使用postInvalidate()刷新界面
使用postInvalidate则比较简单,不需要handler,直接在线程中调用postInvalidate即可。


class GameThread implements Runnable


{


public void run()


{


while (!Thread.currentThread().isInterrupted())


{


try


{


Thread.sleep(100);


}


catch (InterruptedException e)


{


Thread.currentThread().interrupt();


}


//使用postInvalidate可以直接在线程中更新界面


mGameView.postInvalidate();


}


}


}



参考:


Android应用开发揭秘


Android文档


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Shell常用的逻辑判断 下一篇Android人脸检测类FaceDetector

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)