私は自分のアプリにEdittextを持っていて、最初の文字を空白として入力しないようにしたいと思っていますが、他の文字を入力した後にはどうすればいいですか?>EditTex Validation with android
android:id="@+id/referralCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:background="@drawable/formfield_1"
android:hint="@string/referralcode_hint"
android:imeOptions="actionNext"/>
とJavaクラスで私は入力フィルタがあります。
public static InputFilter alphabetsFilter = new InputFilter() {
\t @Override
\t public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
\t if (source.equals("")) { // for backspace
\t \t return source;
\t }
\t if (source.toString().matches("[a-zA-Z ]+")) {
\t \t return source;
\t }
\t return "";
\t }
};
inal EditText editText = (EditText)findViewById(R.id.editText);
InputFilter filter = new InputFilter() {
boolean canEnterSpace = false;
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
if(editText.getText().toString().equals(""))
{
canEnterSpace = false;
}
StringBuilder builder = new StringBuilder();
for (int i = start; i < end; i++) {
char currentChar = source.charAt(i);
if (Character.isLetterOrDigit(currentChar) || currentChar == '_') {
builder.append(currentChar);
canEnterSpace = true;
}
if(Character.isWhitespace(currentChar) && canEnterSpace) {
builder.append(currentChar);
}
}
return builder.toString();
}
};
editText.setFilters(new InputFilter[]{filter});
をString test = "Stack"のような文字列の最初の文字を検証できます。 char first = test.charAt(0); – Singh