Italian GetAllViewsRecursive and "Is" a type of View

sirjo66

Well-Known Member
Licensed User
Longtime User
Hello to all,

I have a problem with GetAllViewsRecursive :(

I need to do some action on my views on a layout, and I use this code:
B4X:
For Each v As View In Activity.GetAllViewsRecursive
   If v Is Button Then
     Dim b As Button = v
     ' ........ execute some actions on button
     ExecBtn(b)
   End If
   If v Is Label Then
     Dim l As Label = v
     ' ........ execute some actions on label
     ExecLbl(l)
   End If
Next

what's wrong on it ??

I execute the program step by step (debug legacy mode) and:
- if "v" is a Button, it execute ExecBtn and ExecLbl (it's wrong)
(yes it is very strange, If v Is Label is True !!)
- if "v" is a Label, it execute only ExecLbl (it's right)
- if "v" is a EditText, it execute only ExecLbl (it's wrong, no need actions on EditText)
(If v Is Label is True !!)

I don't know why it, and how to solve ??

Thanks
Sergio
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Scusate ragazzi, ho postato nella sezione sbagliata, volevo metterlo su "question" ma è andato a finire qui, come faccio a cancellarlo ??
 

LucaMs

Expert
Licensed User
Longtime User
Adesso non ricordo quali, ma alcune view derivano tutte dalla stessa classe base, per cui con la "funzione" "Is xxx" possono darti ugualmente true.
Ti conviene usare GetType(v).

(fai un log di GetType e guarda cosa ricevi)
 

LucaMs

Expert
Licensed User
Longtime User
Codice dal modulo Scale di Klaus:

If v Is Label Then 'this will catch ALL views with text (EditText, Button, ...)

Anche Is Panel potrebbe dare "errori" perché anche un'Activity è considerata un Panel.
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Grazie Luca, sempre preciso e gentile.
Dove posso trovare il modulo Scale di Klaus ?
 

sirjo66

Well-Known Member
Licensed User
Longtime User
scorrendo il thread ho trovato parecchie versioni, qual'è l'ultima ??
io ho trovato la 1.3 del 25 nov 2013, è corretta ??
 

LucaMs

Expert
Licensed User
Longtime User
No so, ma non credo; ricordo di aver fatto aggiungere una mia modifica e io sono iscritto dal 7 nov 2013 (troppo presto il 25 nov per il mio suggerimento, all'epoca).

Comunque, io ho riportato quella frase per specificare quello che non ricordavo esattamente circa la "funzione" Is XXX, ovvero quali tipi di view risultano dello stesso genere.
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Ok, grazie, allora scriverò a klaus chiedendo.
Visto che volevo realizzare proprio una Sub per ridimensionare i layout, volevo prendere la routine di Klaus ed eventualmente adattarla alle mie esigenze.

Sergio
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Did you have a look at this thread ?

Yes, many thanks for the link.
I have already seen also your "Scale code module", very interesting, but I want to know if 1.3 is the last version (25 November 2013)

Thanks
Sergio
 
Top