アプリケーションがありEditText
ます。space
ソフトキーボードでキーを2回押すと、その中にピリオドが挿入されEditText
ます。
どうやってやるの?
アプリケーションがありEditText
ます。space
ソフトキーボードでキーを2回押すと、その中にピリオドが挿入されEditText
ます。
どうやってやるの?
試してみてくださいInputFilter
。これらは、どのテキストが入力されているかを確認する機能を提供しますEditText
。したがって、スペースを2回検出した場合(そのためにカウンターを作成できます)、テキストの追加をトリミングできます。もう一度表示します。
必要に応じて以下のコードを変更できます。
InputFilter filter=new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
for (int i = start; i < end; i++)
{
if(Character.isSpace(source.charAt(i)))
{
return " ";
}
else if (!Character.isLetter(source.charAt(i)))
{
return "";
}
}
return null;
}
};
edittext.setFilters(new InputFilter[]{filter});
addTextChangedListenerを。に追加しますEditText
。afterTextChanged()
そして、そのメソッドをオーバーライドします。Edittextのそのテキストの(ダブルスペース)をチェック" "
します。含まれている場合は、次のように置き換えます。"."
何かのようなもの、
final EditText edit = (EditText) findViewById(R.id.editText);
edit.addTextChangedListener(new TextWatcher()
{
@Override
public void afterTextChanged(Editable editable)
{
if (editable.toString().contains(" "))
{
edit.setText(ed.getText().toString().trim());
edit.append(".");
}
}
});
いくつかのブール値を作成し、ビューにリスナーを追加して、入力の場合はtrueに設定し、入力がない場合はfalseに設定してはどうでしょうか。->ユーザーが許可されていないキーを押した場合は、すべてfalseに設定します。そうでなければ、それらがすべて真実であるとき、あなたがする必要があることをしてください。必要に応じて、順序を確認するためのロジックを追加できます。