Autore Topic: Interciettare la chiusura della tastiera  (Letto 421 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 319
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Interciettare la chiusura della tastiera
« il: 01 Marzo 2016, 11:39:04 CET »
0
Salve a tutti!

Con la mia applicazione mi sono ritrovato in una situazione in cui devo cambiare il colore ad una immagine quando una editText è selezionata e cambiarlo nuovamente quando si chiude la tastiera.

Non ho problemi nel cambiare il colore quando selezione la casella di testo, il problema è capire quando non ho più la tastiera.
Usando i fragment per visualizzare il layout, come faccio a capire quando l'utente mi chiude la tastiera?

Grazie mille in anticipo!
« Ultima modifica: 01 Marzo 2016, 11:42:06 CET da ValerioAdo »

Offline dev91

  • Utente junior
  • **
  • Post: 51
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Note 4
Re:Interciettare la chiusura della tastiera
« Risposta #1 il: 08 Marzo 2016, 02:38:37 CET »
0
Ciao, perché piuttosto che verificare che la tastiera sia chiusa, non intercetti la perdita del focus della editText? Ti lascio un link: http://stackoverflow.com/questions/10627137/how-can-i-know-when-a-edittext-lost-focus

Inviato dal mio SM-T705 utilizzando Tapatalk


Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 319
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Interciettare la chiusura della tastiera
« Risposta #2 il: 08 Marzo 2016, 09:13:36 CET »
0
Ci avevo già provato ma purtroppo non mi chiama l'evento del focus....

Offline dev91

  • Utente junior
  • **
  • Post: 51
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Note 4
Re:Interciettare la chiusura della tastiera
« Risposta #3 il: 08 Marzo 2016, 16:32:47 CET »
0
Ci avevo già provato ma purtroppo non mi chiama l'evento del focus....

Una cosa del genere?

Codice (Java): [Seleziona]
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
  if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
    //Cambia il colore
    return true;
  }
  return super.dispatchKeyEvent(event);
}

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 319
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Interciettare la chiusura della tastiera
« Risposta #4 il: 08 Marzo 2016, 17:14:45 CET »
0
Non esattamente

Non posso fare quel tipo di Override perché il tutto è all'interno di un fragment e faccio già "extends fragment"..

avevo provato con una cosa tipo:
Codice (Java): [Seleziona]
  edit.getOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                   
                }
            });