edittextの左の位置を除き、edittextの中にユーザーが "+"を挿入することを許可したくないダイヤルパッドを実装しました。edittextの左端の文字のみを挿入する方法
2
A
答えて
2
ご要望に応じてInputFilter
を使用してください。次のコードを試してください:
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (source.charAt(i) == '+' && i!=start) {
Toast.makeText(getApplicationContext(),"Invalid Input",Toast.LENGTH_SHORT).show();
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[] { filter });
希望します。
0
おそらくTextWatcher
を使用できます。以下のコードのようなものは、目的を果たす必要があります。TextWatcher
の詳細については
txtNumbers.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
// Do the magic here
int positionOfPlus = txtNumbers.getText().toString().indexOf("+");
if (positionOfPlus != -1 && positionOfPlus != 0) {
txtNumbers.setText("+" + txtNumbers.getText().toString().replace("+", ""));
}
}
});
、ここで読む:ここTextWatcher | Android Developers
0
は、トリックを行うためのコードスニペットです:
editText.addTextChangedListener(新TextWatcher(){
@Override
public void afterTextChanged(Editable s) {}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
// here you can check for '+' sign, and then you can remove additional '=' sign from it.
}
});
が、これはあなたを助けることを願っています。
関連する問題
- 1. EditTextに文字を自動挿入する
- 2. erlangのif文に文字列を挿入する方法は?
- 3. EditTextで文字が入力されたときのトースト方法
- 4. Netty CompositeByteBufの途中に文字列を挿入する方法
- 5. matlabのリストボックスに文字列リストを挿入する方法GUI
- 6. C/C++の文字列リテラルに非ASCII文字を挿入する方法
- 7. 別の文字列に文字列を挿入する簡単な方法 - PHP
- 8. 文字列以外の文字列データを挿入する方法
- 9. Android EditTextを挿入する
- 10. emoji入力でedittextの最大文字数を制限する方法は?
- 11. 組み込みの単一ノードで複数の文字列値を挿入する方法mvc asp.netのLinkedListタイプ
- 12. 列内の各値の左端の文字の整列
- 13. ファイルから文字列を読み込んでバイナリツリーに挿入する方法
- 14. カスタムキーボードからEditTextにユニコード記号を挿入する方法
- 15. edittextにjpegファイルを挿入する方法android
- 16. jTextAreaに読み込み専用文字列を挿入する
- 17. EditTextの文字列をビットマップに変換する方法は?
- 18. mutilineの自動大文字を無効にする方法EditText
- 19. EditText内の文字列のみを許可する
- 20. 文字列の挿入
- 21. jQueryの文字挿入
- 22. JavaScript文字列の挿入
- 23. Anychartテーブル:1000の区切り文字の挿入方法
- 24. ロゴの左右の縦線の挿入方法
- 25. C:Judy Hashに文字列を挿入して読み取る方法
- 26. 文字列変数にバックスラッシュ文字を挿入/追加する方法
- 27. ダブルインターコンマを含む文字列の挿入方法は?
- 28. ®を上付き文字の挿入方法は?
- 29. divの左端の一部を削除する方法
- 30. 文字を&androidに正しく挿入する方法
あなたの答えは)素晴らしいですが( source.toStringを返す必要がストリング(0、source.length() - 1)。 の代わりに、 "" – Zia
それはあなたの 'EditText'のためだけのフィルタです。これは、ユーザーが開始位置ではなく他の場所に「+」を置くと、「戻る」でしょう。ユーザが '+'を適切に置くと、 'edittext.getText()。toString()。substring(0、source.length() - 1)'を実行することができます。 – tahsinRupam