我試圖接受用戶輸入,其中可能包含或不包含逗號,並將逗號用戶取消選擇字段的正確位置(或者根本不可能)。如何格式化EditText的數值在Android上使用逗號(或根本!?)在Android中使用逗號
我也想知道如何減去逗號使得數字只是一個整數。
在此先感謝您的幫助!
我試圖接受用戶輸入,其中可能包含或不包含逗號,並將逗號用戶取消選擇字段的正確位置(或者根本不可能)。如何格式化EditText的數值在Android上使用逗號(或根本!?)在Android中使用逗號
我也想知道如何減去逗號使得數字只是一個整數。
在此先感謝您的幫助!
我不確定,但我可以推測。 Add a focus listener並實現與修改偵聽器中TextView內容相關的所有邏輯。
至於逗號去,我假設你存儲的值爲一個字符串。所以,你可以使用NumberFormat,parse字符串,然後調用intValue方法
NumberFormat format = NumberFormat.getNumberInstance();
String numAsStr = "1,000,000";
int num = format.parse(numAsStr).intValue();
您可以使用NumberFormat.format格式化輸入:
format.format(1000000)//will yield a string "1,000,000"
我不太瞭解Android,但是如果您在Swing中編程,那麼您可能要查看javax.swing.InputVerifier。它觸發對Swing組件進行驗證檢查時,它不集中,我相信它包括修改內容的能力。一個額外的好處是能夠檢查文本字段確實包含一個數字。
謝謝你,DJ,但我特別使用Android和我不認爲它允許我使用Swing組件。 :( 我需要您的解決方案相當於,僅適用於Android!這將是完美的。 – 2010-08-17 16:46:06
本來我指出你應該嘗試onWindowFocusChanged,但你可能想使用setOnFocusChangeListener(我改變了鏈接以反映更改) – Andrey 2010-08-17 17:17:10