私は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
@Anshuman ..その無効なelseがそれを設定した場合、メソッド内のテキストをクリアしないでください... – ngesh
例で私を見せてもらえますか?私は1時間それにこだわっています – AndroidDev
あなたは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
}
});
本当に華麗です!右のお金に:) –
あなたは2つの方法
1. textwatcher
2. Inputfilter
を使用することができます私は、コードを添付しています両方の
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内のEditTextで検証を行う方法は?
- 3. WebSocketでカスタム証明書の検証を実行する方法
- 4. プロトタイプ検証の実行方法
- 5. Xamarinでdisplayalert検証後にViewModelコマンドを実行する方法
- 6. Flask-adminフィールドで検証を実行する方法
- 7. Silverlightの[保存]ボタンで検証を実行する方法は?
- 8. テキストフィールドで検証を実行する方法
- 9. Ionicで検証チェックを実行する方法
- 10. 投稿時のみ検証を実行する方法 - jQuery検証プラグイン
- 11. buttonclickイベントでeditTextを検証します。
- 12. 実行時にアンドロイドで実行時にEditTextのテキストを変更する方法
- 13. servicestackリクエストの検証コードのみを実行する方法
- 14. Laravel 5検証の前にミューテータを実行する方法
- 15. EditText検証 - 番号なし
- 16. アンドロイドでEditTextの検証を行うには?
- 17. 5.2で検証を行う方法は?
- 18. Jasny Bootstrapでイメージサイズ(寸法)検証を実装する方法
- 19. HHMMSS形式でのC#時間検証の実行方法
- 20. ダイナミックEditTextでのRxJava- RxAndroidフォームの検証
- 21. TextChangedでのEditTextビューの検証
- 22. 検証の後でのみASP.Net MVC Ajax.ActionLinkを実行する方法?
- 23. c#複数の検証と戻りエラーメッセージを述語で実行する方法
- 24. アプリでの実際の行動を確認/検証する方法
- 25. フォームの検証を実行する
- 26. WPF:MVVMで広範なデータ検証を実装する方法を
- 27. MobileFirst 8でサーバーセッション検証シナリオを実装する方法は?
- 28. react-datepickerで検証/制限を実装する方法
- 29. プレイフレームワークで検証を実装する方法
- 30. LibSVMで10倍交差検証を実装する方法
はありません。検証のための例またはパターンを与える。 –
これをチェックアウトhttp://stackoverflow.com/q/2763022/1021695 – KMI