我有EditBox
,我必须检查用户输入的数字是否正确。为此,我想调用这样的事件,只要号码正确,用户可以在EditBox
中输入一个数字;否则,如果数字不正确,则不允许用户输入编辑框。如何做到这一点。任何示例都会对我有所帮助。如何在EditText中执行验证
回答
使用onTextChangedListener()
并验证其beforeTextChangedMethod()..像这里面..
((EditText)findViewById(R.id.et_testo)).addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
((TextView)findViewById(R.id.numcaratteri)).setText(String.format(getString(R.string.caratteri), s.length()));
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// Validate here
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
});
其实在编辑框中输入只我想验证号码,我不允许用户键入错误的日期。意味着用户只能输入正确的号码。我不允许用户输入错误的号码。 – AndroidDev 2012-04-26 07:02:20
@Anshuman ..然后不清除方法里面的方法,如果它的无效,否则设置它... – ngesh 2012-04-26 07:10:37
你可以告诉我一个例子..请我卡在它一个小时 – AndroidDev 2012-04-26 07:12:18
你将不得不使用TextWatcher。
你可以随便去HERE。例子也在这里给出,你可以参考它。
final Pattern pattern = Pattern.compile("[0-9]");
editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
Matcher matcher = pattern.matcher(s);
if (matcher.find())
{
s.replace(0, s.length(), s.toString().replaceAll("[0-9]", ""));
}
}
public void beforeTextChanged(CharSequence s, int start,
int before, int count) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
});
真是太棒了!正确的钱:) – 2013-03-14 07:43:47
可以使用2种方式
1. textwatcher
2.输入过滤
我附上其中包括代码都
public class MainActivity extends Activity {
EditText editTxt;
private TextView regresult;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editTxt =(EditText)findViewById(R.id.editID);
regresult = (TextView)findViewById(R.id.txtID);
String urName=editTxt.getText().toString();
editTxt.setFilters(new InputFilter[]{new DecimalDigitsInputFilter()});
editTxt.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable s) {
if (editTxt.getText().toString().matches("(^([0-9]{0,3})?)(\\.[0-9]{0,1})?$"))
{
regresult.setText("");
}
else
{
regresult.setText("invalid number");
}
}
});
}}
class DecimalDigitsInputFilter implements InputFilter
{
Pattern mPattern;
public DecimalDigitsInputFilter()
{
mPattern = Pattern.compile("(^([0-9]{0,2})?)(\\.[0-9]{0,1})?$"); //here u can give your required pattern
}
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
Matcher matcher = mPattern.matcher(dest);
if(!matcher.matches())
{
return "";
}
return null;
}}
你想要哪种数字来允许和
- 1. 在android中进行EditText验证?
- 2. 如何在ListView中的Android EditText中进行验证?
- 3. 如何在ListView中的EditText中进行验证?
- 4. 在Android中验证edittext
- 5. 如何在EditText验证后设置requestFocus
- 6. 在哪里执行验证
- 7. 验证EditText输入
- 8. 两个EDITTEXT验证
- 9. 如何执行提交表单验证
- 10. 如何为TypeScript类执行Joi验证?
- 11. 如何执行身份验证以验证Google In App订阅
- 12. 在WPF中执行验证(WAF框架)
- 13. 在ASP.net中执行amout(price)的验证
- 14. 在MongoDB中执行模式验证
- 15. 在magento中执行验证码?
- 16. 在C#中执行WPF元素验证?
- 17. 输入验证在执行中
- 18. 的EditText验证只运行一次
- 19. 如何在Excel中对执行宏的函数执行数据验证?
- 20. 如何在actionListener或action方法中执行JSF验证?
- 21. 如何在Rails中执行update_attributes时仅验证特定字段?
- 22. 如何在Mercurial中验证并执行提交消息?
- 23. 如何在android中执行表单验证
- 24. 如何在Groovy中强制执行bean合约验证?
- 25. 如何在模型中执行条件验证
- 26. 如何在mvc中执行注册以验证帐户?
- 27. 如何在laravel中执行多重身份验证?
- 28. 如何在HTML表单中正确执行Javascript验证?
- 29. 如何在TypeScript中执行函数参数验证?
- 30. 如何在Rails中执行Facebook身份验证?
不。给出验证的例子或模式。 – 2012-04-26 06:54:19
看看这个http://stackoverflow.com/q/2763022/1021695 – KMI 2012-04-26 06:54:47