Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: Interceptar e alterar o conteúdo colado em um EditText

Ah, agora saquei! Sim, o TextWatcher vai fazer o serviço ;)

[]s



2013/12/17 André Ciríaco <andrevmc@gmail.com>
Lucas, obrigado pela sua disposição em me ajudar. Estou quase terminando aqui.

O que eu quis dizer é o seguinte:

Se no EditText já tiver o texto: "abcd"

Daí eu vou colar: "1234"

No método getText() dentro de:

    
public void onTextPaste(){
this.setText("ahh:" + getText().toString());
}

irá retornar "abcd1234". Eu gostaria de interceptar apenas o que está sendo colado naquele momento. Ou seja, a string "1234".

Mas estou avançando aqui. Estou mesclando o seu método com um TextWatcher para fazer isso.

--
André Ciríaco


Em 17 de dezembro de 2013 16:38, Lucas F. Rosada <lucasrosada@gmail.com> escreveu:

Sim, este conjunto faz o serviço

      
@Override
public boolean onTextContextMenuItem(int id) {
// Do your thing:
boolean consumed = super.onTextContextMenuItem(id);
// React:
switch (id){
case android.R.id.paste:
onTextPaste();
break;
}
return consumed;
}
 
/**
* Text was pasted into the EditText.
*/
public void onTextPaste(){
this.setText("ahh:" +getText().toString());
}

[]s



2013/12/17 André Ciríaco <andrevmc@gmail.com>
Ótimo! Estou quase quase...

Para ficar perfeito mesmo, eu precisaria interceptar apenas o que está sendo colado. No getText() é retornado todo o conteúdo presente no EditText, com o que já tinha + o que acabou de ser colado.

Seria possível?


--
André Ciríaco


Em 17 de dezembro de 2013 15:18, Lucas F. Rosada <lucasrosada@gmail.com> escreveu:

Oi, André!

Na realidade, como a nova classe vai derivar diretamente de EditText, ela herda todos os comportamentos e todas propriedades, portanto, pode setar as propriedades via XML tranquilamente.
Fiz um exemplo baseado na resposta do stackoverflow que você passou: https://gist.github.com/bolhoso/8008744
Toda vez que eu colo algo, eu coloco o texto "ahh:" antes. Repare que eu uso meu EditText custom como se fosse um componente normal.

Abraços

Bolhoso




2013/12/17 André Ciríaco <andrevmc@gmail.com>
Oi Bolhoso,

e como eu faço para setar nessa classe as especificações que foi informada no XML?

Porquê antes eu utilizava:

EditText meuEditText = (EditText) findViewById(R.id.meu_edit_text);

que já instanciava um EditText com todas as propriedades especificadas no R.id.meu_edit_text.

Dessa forma que você falou eu terei que ir setando todas as propriedades programaticamente?

CustomEditText meuCustomEditText = new CustomEditText(getApplicationContext());
meuCustomEditText.set ...
meuCustomEditText.set ...
meuCustomEditText.set ...
meuCustomEditText.set ...

?


--
André Ciríaco


Em 17 de dezembro de 2013 12:25, Bolhoso <lucasrosada@gmail.com> escreveu:
André,

Você pode tentar criar uma classe que deriva de EditText e sobrescrever o método setText(). Antes de chamar o super, você faz o que quiser com o texto ;)


Abraços

Bolhoso


On Tuesday, December 17, 2013 10:58:47 AM UTC-2, André wrote:
Bom dia pessoal,

estou precisando interceptar e alterar o conteúdo que será colado em um EditText.

Pesquisei na net e encontrei algumas coisas como:


e também a utilização de um TextWatcher.

Porém nenhum deles me serve uma vez que tenho que alterar esse conteúdo antes do EditText recebê-lo.

Alguém sabe como posso fazer?

Obrigado,

--
André Ciríaco

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/C7pPPmWy1yU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/C7pPPmWy1yU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/C7pPPmWy1yU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário