對於visual basic我有點生疏,但是我需要將它用於我正在開發的項目,這需要.NET語言。Visual Basic在後臺線程上更新GUI .text屬性
我寫一些代碼在Windows4米應用程序更新一個文本框的文本值時注意到
'weve read the stuff...now lets update the textbox with the ADC value
DataQSingleDevice.GetInterleavedBinaryData(BinaryData, 0, 18)
DataQSingleDevice.Stop()
DATAQHandler(0).Disconnect()
'now lets throw data in the textbox
Button1.Text = "Connected!"
For incramenter As Integer = 0 To 10
TextBox1.Text = BinaryData(incramenter)
Threading.Thread.Sleep(2000)
Next
end sub
,當我經過這個for循環在我之上,它不更新文本每次迭代的價值。我認爲這意味着它只能在該子進入的方法結束之後才能完成。
我記得在Java中的Android編程中,像這樣的屬性修改通常在主UI線程中實現,這個線程深埋在一個永無止境的循環中,只有上帝自己和Java語言的發明者才能希望找到。我還記得像AsyncTask <>和Java.util.concurrent這樣的方法允許我在後臺線程上執行某些操作並更新某些視圖。
My question:
有沒有一種方法來更新GUI上,如在VisualBasic中事物的性質「TextBox1.Text」相似,如何在Android的編程的一些觀點可以與後臺線程定期更新? (這個過程可能會持續幾分鐘的更新......這個例子只持續20秒,但我的實際使用可能持續10分鐘)
如果這是在後臺線程中運行,則必須調用BeginInvoke來強制更新發生在UI線程上。 – dwilliss