最近在做商城的項目,裡面經常有需要使用者輸入金額,在網上找到一些方法,現在記錄下面,友善以後查找和使用。
EditText能夠設定多種輸進體式格局,但是若要設定輸入數字和帶小數點的數值時應注意:
1.若是設定隻輸入數字
//在代碼中設定
editText.setInputType( InputType.TYPE_CLASS_NUMBER);
//或者在布局檔案中設定
android:inputType="number"
此時隻會彈出數字輸入框,符号點選後不會輸入到文字框中
2.若是設定隻能輸入數字和小數點
//InputType.TYPE_NUMBER_FLAG_DECIMAL、小數點型
// InputType.TYPE_CLASS_NUMBER 整數型
//在代碼中設定
editText.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_CLASS_NUMBER);
**注意:隻設定
InputType.TYPE_NUMBER_FLAG_DECIMAL
是無法實作隻能輸入數字和小數點的,必須
InputType.TYPE_CLASS_NUMBER
和
InputType.TYPE_NUMBER_FLAG_DECIMAL
同時設定才可以
3.若是設定隻能輸入數字和小數點後兩位
//設定字元過濾
editReturnGoodsMoney.setFilters(new InputFilter[]{new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.equals(".") && dest.toString().length() == ) {
return "0.";
}
if (dest.toString().contains(".")) {
int index = dest.toString().indexOf(".");
int mlength = dest.toString().substring(index).length();
if (mlength == ) {
return "";
}
}
return null;
}
}});