我有一個包含近10個項目的小列表(並且在任何情況下都不會超過20個)。活動創建後不會更改。帶有EditTexts和複選框的小型RecyclerView的問題
我的當前設置:
- 我使用列表中
RecyclerView
。 - 我有一個
Checkbox
和EditText
(說1和2)在每個列表項。 - 我根據選中的複選框和EditText-1的值做一些計算,並將新值填充到另一個EditText-2。
- 在某些情況下,用戶編輯EditText-2的值並且再次發生計算,它將填充到所有其他位置,包括所有項目的EditText-1。
問題解決:
與TextWatcher然而,在這種情況下,我面臨的問題多次調用。我解決了這個問題:https://stackoverflow.com/a/31860393/1820644
更改複選框值更改一些隨機的其他複選框。解決它使用此:https://stackoverflow.com/a/38549047/1820644
另一個問題:現在
,作爲RecyclerView的所有其他項目的EditText-1的變化值的數據變化,我打電話notifyDatasetChanged()
,以反映執行後的變化計算。但這導致EditText
放鬆焦點。它打算在notifyDatasetChanged
之後重新創建所有視圖。在這種情況下,即使是穩定的ID也無濟於事。 (有關於此問題的錯誤:https://code.google.com/p/android/issues/detail?id=204277)。該值甚至沒有反映和EditText失去它的重點。
我能做些什麼?:
- 有什麼解決方法嗎?設置穩定的ID後,我看到項目值發生了奇怪的變化。
- 由於項目是固定的,onCreate後沒有添加和刪除任何項目,在容器中使用滾動視圖並通過在循環中手動膨脹視圖添加項目(並且更新也會很容易,我認爲)將使我的生活成爲容易一點嗎?