我剛剛實施了使用在線Web服務一個文本框的自動完成,在此基礎上回答#2: ArrayAdapter is updated late from Webservice in AutoCompleteTextAdapter轉換選擇爲String
使用一個ArrayAdapter<User> implements Filterable
,我負責的是自動完成建議我按預期輸入。 User
是一個Java Bean,它包含在建議(年齡,名稱,...)中提供的信息。
當我選擇一個建議時,自動填充字段將填充'錯誤'數據 - 使用toString()
方法,而不是bean的'name'屬性。
我的問題是:我可以重寫(在適配器)一個方法,這將允許我指定如何轉換該bean,以便爲AutoCompleteTextView返回正確的屬性? (理想情況下,不應該改變User.toString())
Thx!
您可以創建子類AutoCompleteTextView,並添加一個方法 setCustomConvertSelectionToStringMethod(),它使用自定義的「toString」方法接受對象(接口) 在convertSelectionToString方法中,檢查customMethod並執行它,如果它存在... 這樣,必須子類化一次 – vanleeuwenbram