有沒有辦法將一個字符串附加到EditText值,以便附加的字符串不可編輯?將不可編輯的字符串附加到EditText
即說我有一個EditText的電子郵件地址,我想把一個電子郵件地址作爲一個單一的實體,而不是單個字符。因此,如果用戶刪除了電子郵件地址的最後一個字符,我想要刪除整個電子郵件地址而不是最後一個字符。
我一直在尋找Spannable,但看不到任何明顯的東西。這與Gmail和其他應用程序的功能類似。
有沒有辦法將一個字符串附加到EditText值,以便附加的字符串不可編輯?將不可編輯的字符串附加到EditText
即說我有一個EditText的電子郵件地址,我想把一個電子郵件地址作爲一個單一的實體,而不是單個字符。因此,如果用戶刪除了電子郵件地址的最後一個字符,我想要刪除整個電子郵件地址而不是最後一個字符。
我一直在尋找Spannable,但看不到任何明顯的東西。這與Gmail和其他應用程序的功能類似。
重新發布我的評論作爲答案(和修改的話,使我的建議更清晰)。
[onTextChanged
](http://developer.android.com/reference/android/widget/TextView.html#onTextChanged(java.lang.CharSequence,int,int,int)) 附加到您的EditText
以通知用戶輸入。然後您可以檢查EditText
內容的長度,如果它減少1,則可以假定用戶刪除了一個字符。
如果用戶輸入[email protected]
,則在onTextChanged
上,可以將文本設置爲空字符串。當然,您必須先進行一些檢查,以確保用戶在應用更改之前輸入了完整的電子郵件地址。就像,也許確保用戶已經輸入了@
字符,或者最後一個非空格字符後面有空格。
也許你可以只是有一個文本更改偵聽器,然後手動修改EditText的內容,然後將其替換爲你想要的。如果用戶輸入[email protected],那麼當長度減1時,將文本設置爲空字符串。不知道這是不是你想要的。 :) – Zarah
@ Zarah:很好的答案(我贊成:-)。不過,也許你應該把它看作是「答案」,而不是「評論」。就目前而言,Chris Banes似乎沒有辦法將您的解決方案接受爲「答案」(當然,只要他願意)。 – dbm
@dbm嗨,謝謝! :)我不確定這是克里斯巴恩斯想要的。似乎很多人都同意我的看法,所以將其重新發布爲答案。 :) – Zarah