在我的應用程序中,我有一個在SortedMap
內添加/刪除/編輯記錄的活動。該活動作爲ListActivity
的擴展實施。我已經爲收集物品實施了自定義ArrayAdapter
。如何在ListView中正確處理Android EditText輸入?
每個ListView
項(對應於基礎記錄)由TextView
s,EditText
s和Button
組成,用於刪除記錄本身。佈局大致如下:
ListView
----------------------------------------------------
[TextView] [EditText] [TextView] [EditText] [Button]
----------------------------------------------------
[TextView] [EditText] [TextView] [EditText] [Button]
我的目標是隻要用戶完成編輯處理輸入用戶鍵入的EditText
S,即當用戶瀏覽從EditText
離開或用戶有按下以關閉屏幕鍵盤。
我試圖通過處理onFocusChanged
來處理EditText
中可見的文本。但是,這種方法運行不正常,onFocusChanged
方法被稱爲非常頻繁和隨機,即使未選中&未經編輯的EditText
s。這可能是由於StackOverflow question的this article on Android Blog。
有沒有更好的方法來做到這一點?
嘗試了這一點,主要的警告是,你不能區分由listview引起的虛假「變化」和用戶真正的變化之間的差異。檢查計數將不起作用,因爲用戶可以通過全選刪除整行。 – 2011-11-01 05:34:35