我有這個問題,我怎麼才能格式化edittext上的顯示,我鍵入它?例如,如果我輸入5,它將格式化所需的貨幣。我可以在edittext中格式化文本,而onFocusChangeListener沒有問題,但客戶端需要onchange。android EditText格式,因爲我輸入
這裏有一些代碼:具有計算器錯誤
<code>
08-01 22:37:32.724: ERROR/AndroidRuntime(1566): FATAL EXCEPTION: main
java.lang.StackOverflowError
at android.view.View.addFocusables(View.java:4311)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:731)
at android.view.ViewGroup.addFocusables(ViewGroup.java:712)
at android.view.View.getFocusables(View.java:4269)
at android.view.FocusFinder.findNextFocus(FocusFinder.java:114)
at android.view.FocusFinder.findNextFocus(FocusFinder.java:98)
at android.view.ViewGroup.focusSearch(ViewGroup.java:570)
at android.view.ViewGroup.focusSearch(ViewGroup.java:572)
at android.view.ViewGroup.focusSearch(ViewGroup.java:572)
at android.view.ViewGroup.focusSearch(ViewGroup.java:572)
at android.view.ViewGroup.focusSearch(ViewGroup.java:572)
at android.view.ViewGroup.focusSearch(ViewGroup.java:572)
at android.view.ViewGroup.focusSearch(ViewGroup.java:572)
at android.view.View.focusSearch(View.java:4192)
at android.widget.TextView.onCreateInputConnection(TextView.java:4936)
at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:964)
at android.view.inputmethod.InputMethodManager.restartInput(InputMethodManager.java:919)
</code>
任何想法
<code>
inputText = (EditText) findViewById(R.id.et_compare_rate_saving);
inputText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
//System.out.println("beforeTextChanged::: => "+charSequence);
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
//System.out.println("onTextChanged::: => "+charSequence);
}
@Override
public void afterTextChanged(Editable editable) {
if(!editable.toString().isEmpty()){
String amount = LO.removeSeparators(editable.toString(), getLocaleFormat());
String newFormat = LO.compareRatesFormatting(Double.valueOf(amount),getLocaleFormat());
System.out.println("afterTextChanged::: => "+newFormat);
inputText.setText(newFormat);
}
//System.out.println("afterTextChanged::: => "+editable.toString());
}
});
</code>
IM? 歡呼聲。 非常感謝。
謝謝回覆...我覺得此http://機器人-sdk.appspot.com/reference/android/telephony/PhoneNumberFormattingTextWatcher.html這是一個實用工具,用於在文本更改後觀看textview。是否可以在edittext本身上執行類似的操作?謝謝 – 2012-08-04 04:27:46
我覺得這篇文章有用http: //堆棧overflow.com/questions/5107901/better-way-to-format-currency-input-edittext – 2012-08-06 12:49:27