当输入十进制数时,我需要让用户在两种变体之间进行选择:
使用逗号(,)作为分隔符
使用点(.)作为分隔符
默认情况下,如果我inputType="numberDecimal"在EditTextxml配置中使用 - EditText仅显示数字和逗号(,)作为可能的分隔符.
我尝试使用android:digits="0123456789,在我的EditText配置中,但没有结果 - EditText小部件只显示数字和逗号.
我想在屏幕键盘上尝试输入十进制数时,可以为用户提供两种变体(.和,).
您能否提一些建议?
使用正确的验证。让用户看到完整的键盘,但他仍然不使用它。意味着用户不应该能够使用键盘使用或输入任何内容。
etlocation = (EditText) findViewById(R.id.etlocation);
Run Code Online (Sandbox Code Playgroud)
并用了这个
etlocation.getText().toString();
if (!isValidLocation(etlocation.getText().toString().trim()))
{
etlocation.setError("Invalid location");
}
Run Code Online (Sandbox Code Playgroud)
验证这一点
public static boolean isValidLocation(String str) {
boolean isValid = false;
String expression = "^[0-9,.]*$";
CharSequence inputStr = str;
Pattern pattern = Pattern.compile(expression);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10308 次 |
| 最近记录: |