Xamarin.Android 使用Timer 並更改UI

來源:互聯網
上載者:User

標籤:users   log   urlencode   var   detail   ssd   clip   using   views   

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

 

第一步:建立timer對象

 

[html] view plain copy
  1. //建立timer對象  
  2.       Timer _dispatcherTimer;  
  3.       //計數  
  4.       int sec = 60;  


第二步: 執行個體化timer並給委託事件

 

[html] view plain copy
  1. TimerCallback timerDelegate = new TimerCallback(Tick); //tick為執行防範  
  2. _dispatcherTimer = new Timer(timerDelegate, null, 0, 1000);    

//執行方法

[html] view plain copy
  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.       }  

 

//使用

 

[html] view plain copy
    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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.