码迷,mamicode.com
首页 > 移动开发 > 详细

Xamarin.Android 使用Timer 并更改UI

时间:2017-12-09 23:58:34      阅读:418      评论:0      收藏:0      [点我收藏+]

标签:users   log   urlencode   var   detail   ssd   clip   using   views   

http://blog.csdn.net/ozhangsan12345/article/details/72653070

 

第一步:创建timer对象

 

  1. //创建timer对象  
  2.       Timer _dispatcherTimer;  
  3.       //计数  
  4.       int sec = 60;  


第二步: 实例化timer并给委托事件

 

  1. TimerCallback timerDelegate = new TimerCallback(Tick); //tick为执行防范  
  2. _dispatcherTimer = new Timer(timerDelegate, null, 0, 1000);    

//执行方法

  1. public void Tick(object state)  
  2.       {  
  3.           this.RunOnUiThread(() =>  
  4.           {  
  5.               if (sec > 0)  
  6.               {  
  7.                   smsbt.Text = sec.ToString() + "秒可重发";   
  8.                   sec--;  
  9.               }  
  10.               else  
  11.               {  
  12.                   _dispatcherTimer.Dispose();  
  13.                   sec = 60;  
  14.                   smsbt.Text = "获取验证码";   
  15.   
  16.               }  
  17.           });  
  18.            
  19.       }  

 

//使用

 

    1. {  
    2.                        TimerCallback timerDelegate = new TimerCallback(Tick);  
    3.                        _dispatcherTimer = new Timer(timerDelegate, null, 0, 1000);  
    4.                        ProgressDialog progressDialog = ProgressDialog.Show(this, "", "请稍后...");  
    5.                        new Thread(new ThreadStart(() =>  
    6.                        {  
    7.   
    8.                            string url = this.GetString(Resource.String.url) + "/AppServices/userServices.aspx?action=regSms";  
    9.   
    10.                            using (var http = new HttpClient())  
    11.                            {  
    12.                                var content = new FormUrlEncodedContent(new Dictionary<string, string>() {  
    13.                        { "phone",userphone.Text }  
    14.                            });  
    15.                                var response = http.PostAsync(url, content);  
    16.                                string me = response.Result.Content.ReadAsStringAsync().Result;  
    17.                                progressDialog.Dismiss();  
    18.                                this.RunOnUiThread(() =>  
    19.                                {  
    20.                                HandleResult(me);  
    21.                                });  
    22.                            }  
    23.                        })).Start();  
    24.                    } 

Xamarin.Android 使用Timer 并更改UI

标签:users   log   urlencode   var   detail   ssd   clip   using   views   

原文地址:http://www.cnblogs.com/LuoEast/p/8013007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!