You can use GetType to know "exactly" what type it is:
B4X:
Dim ViewType As String
For Each V As View In Panel1.GetAllViewsRecursive
ViewType = GetType(V)
Log(ViewType)
If ViewType.EndsWith("Button") Then
Log("Is a button")
Else If ViewType.EndsWith("TextView") Then
Log("Is a Label")
Else If ViewType.EndsWith("EditText") Then
Log("Is an EditText")
Else
End If
Next
[You could optimize the code, getting the text after the last dot of ViewType]
I will use this opportunity to clarify about B4XView:
B4X:
Log(V Is B4XView) 'will always be true as any view can be assigned to B4XView
Log(GetType(V).Contains("B4XView")) 'will always be false as there is no such native type.