Ver mensagens sem resposta | Ver tópicos ativos Hoje é 19 Jun 2013, 11:41



Responder Tópico  [ 3 Mensagens ] 
 Date Format em um campo TextView 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 23 Set 2012, 23:14
Mensagens: 8
Mensagem Date Format em um campo TextView
Olá, boa tarde.

Estou com enorme dificuldades em implantar um Date Format em um TextView do Android.
A ideia é que o usuário NÃO consiga inserir uma data inválida, por exemplo 33/10/2012.

Eu consegui fazer criar uma máscata do TextView para quando ele digitar, ele já cria as "/" automaticamente. Porém, gostaria de forçá-lo a digitar uma data válida, se ele não digitar exibirei uma mensagem avisando que a data está inválida.

Alguém poderia me ajudar a solucionar este problema, por gentileza?

Segue abaixo código onde crio a máscara de data para este TextView. Teria que fazer o Date Format aqui dentro ou algo externo? Como implementaria?

//Máscara data admissão
        textAdmissao.addTextChangedListener(new TextWatcher() {
            boolean isUpdating;
           
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int after) {
                if (isUpdating) {
                    isUpdating = false;
                    return;
                }
               
               
                boolean hasMask = s.toString().indexOf('/') > -1;
                String str = s.toString().replaceAll("[/]", "");
                if (after > before) {
                    if (str.length() > 1) {
                        textAdmissao.requestFocus();
                        str = str.substring(0, 2) + '/' + str.substring(2);
                    }
                    if (str.length() > 5) {
                        str = str.substring(0, 5) + '/' + str.substring(5);
                    }
                    isUpdating = true;
                    textAdmissao.setText(str);
                    textAdmissao.setSelection(textAdmissao.getText().length());
                } else {
                    isUpdating = true;
                    textAdmissao.setText(str);
                    textAdmissao.setSelection(Math .max(0, Math .min(hasMask ? start - before : start, str.length())));
                }
            }
           
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
               
            }
           
            @Override
            public void afterTextChanged(Editable s) {
               
            }
        });


21 Out 2012, 13:33
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 01 Jun 2012, 12:50
Mensagens: 189
Mensagem Re: Date Format em um campo TextView
Olá.
Dentro da função "onTextChanged" você pode fazer essa validação.
Faça o seguinte, pegue as posições do conteúdo do campo e verifique o dia e mês, use o comando "substring".
No seu código você já usa, é só copiar e colar. :)

Pode fazer também com expressão regular.

_________________
Happy Day - Nunca mais se esqueça das datas especiais, envia sms automaticamente no dia da comemoração!
https://play.google.com/store/apps/details?id=br.com.happydayfree

Caso tenha encontrado sua solução, coloque como [RESOLVIDO] para facilitar a dúvida de outros.
http://www.portalandroid.org- Tudo sobre o Android.

JESUS VOLTARÁ! Não sabe quem é? Procure, ainda há tempo.


21 Out 2012, 22:08
Perfil
Application Life Cycle
Application Life Cycle
Avatar de usuário

Data de registro: 10 Jan 2012, 11:28
Mensagens: 205
Localização: Belo Horizonte, MG
Mensagem Re: Date Format em um campo TextView
Como usar aquele componente de data onde pode-se escolher dia, mês e ano separados?

_________________
Daniel Tibúrcio
Ideia Informática Ltda.
http://www.ideiainformatica.com.br
(31)3291-9799
Skype ideia_daniel
"O Senhor é o meu Pastor, nada me faltará" Salmo 23:1


04 Abr 2013, 10:04
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 3 Mensagens ] 

Quem está online

Usuários vendo este fórum: aechiara, antoniodourado, arkanjo, AT-AT, Bitetti, boydivalor, Bravox, bravus, brazucx, careisjr, cariabs8, Carlos, cassianotartari, celson, Chefe Nass, Cleiton, Clone Trooper, Cynthia, danilosv, David, dchechetto, debal, deivisonrpg, dfreitas, dikiloco, dmd, dobau, dr.faro, dudu795, edlinux, edsonel, emersonbarros, epsilva, fabricioLeonard, felipecomp19, FelipeOliveira, fgalvão, flaviolemos, fracon, gfgodoy, Gomes, Guilherme Cobain, guitarro17, gutodias, gutomilani, HAMSES, hbarroco, Henrique Ferraz, ismavolk, jacksaum, jackstuard, jhonguitar, JMurray, johnnyjx, Jota, jrchuteboxe, julianafsa, juliano, kecyobarros, kennedyximenes, klassmann, leonardodamata, LucasNascimento, luciano.sml, Lucious, Maiquell, malucouto, Marco Magoo, marianatallas, masf_33, mauriciomag, nightwatch, nino, nooksistemas, Odigooogle™, oliverlessa, pabarbosa, Patricia, Paulo, pemam.com.br, poponeis, R2-D2, ramonsiebra, renan.fernandes, ricardo, rixargolo, rodrigosalfer, rogerio.alcantara, rogeriokta, romulotales, Rubens Prates, shazaum, SidneiCP, Silvio Vaz, the_hulk_knifer, Thelemita, thosjanas, Tognoli, tonical, Topeca, Velhinho, vieira, viniciusgoncalves, viniciusluiz, washington, wender, Yoda, Yuri e 6 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2013 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi