您的位置:首页 > 移动开发 > Android开发

android EditText设置只能输入金额

2016-03-30 10:36 501 查看
设置 EditText只能输入金额 用InputFilter过滤

</pre><p><pre class="java" name="code">private EditText money;

money = (EditText) findViewById(R.id.money);

//设置过滤器
money.setFilters(new InputFilter[]{new InputMoney()});

/**
* 限制只能输入金额
*
* @author zengchao
*
*/
private class InputMoney implements InputFilter{

@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
if (source.toString().equals(".") && dstart == 0 && dend == 0) {//判断小数点是否在第一位
money.setText(0+""+source+dest);//给小数点前面加0
money.setSelection(2);//设置光标
}

if (dest.toString().indexOf(".") != -1 && (dest.length() - dest.toString().indexOf(".")) > 2) {//判断小数点是否存在并且小数点后面是否已有两个字符
if ((dest.length() - dstart) < 3) {//判断现在输入的字符是不是在小数点后面
return "";//过滤当前输入的字符
}
}

return null;
}

}
xml
<EditText
android:id="@+id/money"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:singleLine="true"
android:inputType="numberDecimal"
android:hint="请输入金额" />



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息