2017-04-18 100 views
2

另一天,另一個bug ... 我有三個AutoCompleteTextFields過濾器覆蓋從我的REST服務完成,但我的大問題是,這些文本的建議彈出窗口點擊通過.. 。所以當我已經完成其中的一個時,任何點擊另一個的建議彈出窗口都會觸發底層的ACTF,這個ACTF已經被填充並顯示它自己的彈出框,從而無法從另一個ACTF建議彈出框中選擇該項目。Codename One - AutoCompleteTF不良行爲

這兩個屏幕截圖顯示了情況,ACTF是textfield暗示的「Partenaire」,「Contact ...」和已經自動完成的一個。

在第二個屏幕截圖上,我嘗試在第三個ACTF上選擇該項目,因此四個第一個結果來自第三個ACTF,最後四個來自「Partenaire」ACTF。

是否有一種方法可以覆蓋類似onShow()的彈出窗口,並且它隱藏了等價物,所以當我鍵入其中一個時,可以禁用其他ACTF?

我認爲這是解決問題的好辦法,但我願意接受任何其他的想法:)

我已經忘記提及它,但問題出現在Android和在模擬器上,但iOS版沒有這樣的問題。

enter image description hereenter image description here

+0

這是否只發生在設備上(android),或者它也發生在模擬器中嗎? –

+0

它發生在設備和模擬器上 –

+0

但只有在Android上,從未在iOS –

回答

1

檢查你的UI已經滾動設置正確,層次結構中的唯一一個集裝箱可以在Y軸滾動。默認情況下,表單的內容窗格應該可以在Y上滾動(除非是邊框佈局)。

+0

所以問題是ACTF建議框是可滾動的?我的表單也是可滾動的,所以屏幕上有多個可滾動的容器,它會導致不良行爲?有什麼方法可以改變建議框的可滾動行爲(不需要重寫整個ACTF類)? –

+0

您需要有一個可滾動的容器,否則當您編輯時彈出一個虛擬鍵盤,我們不知道滾動到正確位置的位置/內容。這將適用於任何輸入,並且是重要的可用性最佳實踐。嵌套可滾動容器尤其有問題,因爲我們沒有滾動條和觸摸滾動,我們無法知道哪個組件被滾動。 –