Il motivo è che
If objFTF Is B4XFloatTextField Then
non funziona, ergo non entra mai all'interno del blocco If-End If.
Numero 1!!!
Scusa, ma in questo caso per risparmiare 2 righe ne scrivi 6?
B4XFloatTextField1.HintText = language.Value("Username")
B4XFloatTextField2.HintText = language.Value("Password")
For Each Vw As View In Root.GetAllViewsRecursive
If Vw.Tag Is B4XFloatTextField Then
Dim ftf As B4XFloatTextField = Vw.Tag
ftf.HintText = language.Value(ftf.HintText)
ftf.Update
End If
Next
Corretta osservazione.
... e infatti, come dice LucaMs, è solo un esempio per capire come funziona il metodo.
Sono abituato mentalmente a programmare tutto in una lingua e poi, se necessario, fare alla fine le traduzioni. In più, al momento, mi trovo meglio a inserire Text e Hint con il Designer per tenere il più pulito possibile il codice, altrimenti, mi si incrociano gli occhi!
Quindi, finché non cambio metodo, le righe non sono più 2 ma 4 (devo aggiungere il .Update) e, per ogni B4XFloatTextField che inserisco, se ne aggiungono altre 2... per non parlare del fatto che mi piace tenermi "elastico" laddove possibile e l'iterazione con "For each" me lo permette. Infatti, se i cicli "for each" li metto in un modulo e li richiamo passandogli di volta in volta la Root, non mi resta che chiamare solo la sub e, per singola pagina, il tutto si riduce ad una sola riga. Non so sono riuscito a spiegarmi.