簡體   English   中英

每x秒后在listview上填充項目

[英]Populate items on listview after each x seconds

我有一種方法,每30秒檢測一次信標。 場景如下:

  1. 信標的掃描周期為60秒。
  2. 下次掃描之前的等待時間為30秒。

以上設置已經在BeaconDectector類中定義。 現在要顯示在我的UI上掃描的信標,我有以下內容:

 private void Button_Clicked(object sender, EventArgs e)
 {       
    bool start = true; 
    while (start) {
       beaconsFound = StartDetection(); 
                Device.BeginInvokeOnMainThread(() =>
                  {
                      listView.ItemsSource = beaconsFound;

                  });
    }
 }

StartDetection包含每30秒發生一次的邏輯,掃描周期為60秒。 如何確保我不會錯過任何要顯示在列表視圖中的信標?

請指教。 謝謝。

您絕對不應該使用主動等待while(start)來管理它。 更好的解決方案是使用Timer 您可以在此博客文章中看到有關此內容的基礎知識。

此外,請確保您沒有在UI線程上運行任何長時間運行的代碼( Button_Clicked在其上運行)。 理想情況下,計時器應每30秒觸發一次,啟動一個新的Task進行檢測,並在適當時使用Device.BeginInvokeOnMainThread更新列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM