У меня есть EditText , который должен выглядеть примерно так 2018-11-11-1 Так что я хочу добавить «-» автоматически, так что пользователь должен вводить только цифры.
Но при использовании номера типа ввода (из-за клавиатуры) он не добавляется, а работает только с текстом типа ввода.
<EditText
android:id="@+id/idEdit"
android:layout_width="match_parent"
android:maxWidth="500dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginHorizontal="20dp"
android:layout_below="@+id/imageScroller"
android:hint="Scheinnummer eingeben"
android:inputType="number"
android:imeOptions="actionDone"
android:layout_centerInParent="true"/>
Способ добавления дефиса после 4 символов.
int len=0;
@Override
public void afterTextChanged(Editable s) {
String str = _idEdit.getText().toString();
if(str.length()==4&& len <str.length()){//len check for backspace
_idEdit.append("-");
}
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
String str = _idEdit.getText().toString();
len = str.length();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}