有一段時間我一直在試圖讓我的tableview的工作作爲一種電子表格是由後臺線程更新,當細胞得到更新,它幾秒鐘higlights(改變風格),然後返回到原來的風格。 我已經知道了,我不能直接存儲和表格單元格設置樣式,我需要某種形式的支持類的,這將保留該數據。但是,「重用」單元格的tableview(對不同的數據使用相同的單元格)行爲真的很奇怪。當所有的細胞適合在屏幕上它完美的作品對我來說,但一旦我把周圍的100個細胞,並將其變爲滾動它開始是越野車,有時樣式(或設置好的圖形)消失,出現滾動之後,如果停用來看一些頂尖的細胞,滾動後的一些其他單元也被禁用,等等。有沒有什麼正確的方法來做到這一點?什麼是正確的方式來使用tableview?
我需要的基本上是
Background data thread ---updates--> tableview
Another thread --after few seconds removes style--> tableview
,因爲我有現在,我有保存數據,風格和參考表格單元格模型類,它應該是(i禁用訂貨,所以它應該是確定)和後臺線程更新模型類中的數據,並且該模型類會在引用的單元格上更改樣式,並在「樣式移除器」線程中註冊自己,同時刪除樣式。
我認爲發佈我的實際代碼不會有用,因爲一旦我發現單元格正在被重用,我的代碼變得太複雜了,有點難以理解,所以我想完全重做它的正確方式。
Peformance是不是對我來說很重要,並且不會有超過100個細胞,但這種突出並具有按鈕的tableview必須工作得很好。
這是我的應用程序看起來像現在 - 爲的是什麼,我需要的想法。
編輯:這裏是鏈接到我的another question與此相關。
沒有檢查代碼在您的其他問題,只是要注意:使用線程時,請確保到視覺效果的所有更新發生在FXApplication線程 – kleopatra
我使用Platform.runLater進行每個可視化更新。另一個問題中的代碼已經不再那麼實際了,但我在那裏寫的答案與我現在使用的相同。我想在這裏鏈接另一個問題。 –
我會模擬數據中最近更改的內容,根據需要更新它,讓視圖(單元格)聽取該屬性並相應地更新其樣式。因爲它重新接線時的項目/指標變化 – kleopatra