Alguém pode me dar uma ajuda nisso?
Tenho um campo hora (time) que será digitada a hora, quero que conforme vá digitando vá formatando (colocando o : ), porém não está funcionando, o que está errado?
Filtro:
[code]package com.worker.meuponto.util;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextUtils;
public class HoraInputFilter implements InputFilter {
int tamanho = 0;
public HoraInputFilter() {
}
public HoraInputFilter(int tamanho) {
this.tamanho = tamanho;
}
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
char[] v = new char[end - start];
TextUtils.getChars(source, start, end, v, 0);
String s = new String(v);
System.out.println("String: " + s);
if (s.length() == 2) { // 14
s = s + ":";
}
if (s.length() == 5) { // 14:33
s = s + ":";
}
if (s.length() > 8) {
s = s.substring(0, 8);
}
return s;
}
}[/code]
No meu Activity:
EditText campoHoraEntrada = (EditText) findViewById(R.id.campoHoraEntrada);
campoHoraEntrada.setFilters( new InputFilter[]{ new HoraInputFilter() } );
XML:
<EditText
android:id="@+id/campoHoraEntrada"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:maxLength="10"
android:inputType="text" />
Simplesmente não funciona