[英]Populate items on listview after each x seconds
我有一種方法,每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.