Android两种实现界面的刷新操作的方法

利用Handler刷新界面

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

成都创新互联公司是一家专注于成都做网站、网站设计、外贸营销网站建设与策划设计,丰县网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:丰县等地区。丰县做网站价格咨询:18980820575

 
 
  1. // 在onCreate()中开启线程 
  2.        new Thread(new GameThread()).start();、 
  3.   
  4.  
  5.        // 实例化一个handler 
  6.        Handler myHandler   = new Handler()  
  7.        { 
  8.               //接收到消息后处理 
  9.               public void handleMessage(Message msg) 
  10.               { 
  11.                      switch (msg.what) 
  12.                      { 
  13.                      case Activity01.REFRESH: 
  14.                             mGameView.invalidate();        //刷新界面 
  15.                             break; 
  16.                      } 
  17.                      super.handleMessage(msg); 
  18.               }                    
  19.        }; 
  20.   
  21.  
  22.        class GameThread implements Runnable 
  23.        { 
  24.               public void run() 
  25.               { 
  26.                      while (!Thread.currentThread().isInterrupted()) 
  27.                      { 
  28.                             Message message = new Message(); 
  29.                             message.what = Activity01.REFRESH; 
  30.                             //发送消息 
  31.                             Activity01.this.myHandler.sendMessage(message); 
  32.                             try 
  33.                             { 
  34.                                    Thread.sleep(100); 
  35.                             } 
  36.                             catch (InterruptedException e) 
  37.                             { 
  38.                                    Thread.currentThread().interrupt(); 
  39.                             } 
  40.                      } 
  41.               } 
  42.  
  43.        } 

使用postInvalidate()刷新界面

使用postInvalidate则比较简单,不需要handler,直接在线程中调用postInvalidate即可。

 
 
  1. class GameThread implements Runnable 
  2.       { 
  3.              public void run() 
  4.              { 
  5.                     while (!Thread.currentThread().isInterrupted()) 
  6.                     { 
  7.                            try 
  8.                            { 
  9.                                   Thread.sleep(100); 
  10.                            } 
  11.                            catch (InterruptedException e) 
  12.                            { 
  13.                                   Thread.currentThread().interrupt(); 
  14.                            } 
  15.                            //使用postInvalidate可以直接在线程中更新界面 
  16.                            mGameView.postInvalidate(); 
  17.                     } 
  18.              } 
  19.       } 

当前文章:Android两种实现界面的刷新操作的方法
网页网址:http://www.hantingmc.com/qtweb/news37/256787.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联