2012-08-23 23 views
13

E 'possibile aggiungere filtri in android da fare qualcosa di simile per aggiungere un limite del 3 char al campo:Rimuovi il filtro da EditText in Android?

editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(3) }); 

Che dire di rimozione di un filtro già impostato però? Il mio problema è che cambierò tra una lunghezza massima di 3 e 4 caratteri sul campo a seconda di una selezione da parte dell'utente. Basta eseguire il codice sopra sembra che genererebbe un sacco di lavoro extra per il GC.

Potrei ovviamente aggiungere un paio di variabili di istanza che corrispondono a ciascun filtro e aggiungerle quando necessario e quindi avrei solo i due filtri che vanno bene per questo caso. Sarebbe interessante sapere se è possibile rimuovere completamente un filtro. Forse passando in null?

risposta

40

Se desidera rimuovere solo i filtri, piuttosto che sostituire uno con l'altro, è possibile farlo con

editText.setFilters(new InputFilter[] {}); 
+1

+1 Questo è quello che stavo cercando. Dal codice sorgente di TextView ho già raccolto il passaggio null non è un'opzione, quindi questa è la strada da percorrere se si vuole cancellare i filtri di una vista testo - grazie :)! – AgentKnopf