Hola Manel:
Crear subrutinas recursivas en B4A es igual que en Visual Basic, las llamas a ellas mismas desde el mismo sub y hará igual que en Visua Basic, Hará todo lo que le digas, y si vuelves a llamarla desde el mismo sub, entrará de nuevo cogiendo los valores pasados.
Te he echo un pequeño ejemplo, desde un boton llamas a una rutina que crea un bucle y lo escribe en el log, dentro del sub, vuelvo a llamar al sub pero con otro valor
Sub Button1_Click
Contador(10)
End Sub
Sub Contador(ContarHasta As Int)
' Cuenta hasta lo que nos diga la variable ContarHasta
Dim n As Int
Dim YaEntre As Boolean
Log("Entro en el Sub - Valor contador: " & ContarHasta)
For n = 1 To ContarHasta
Log(" N: " & n)
If YaEntre = False AND n = 5 Then
YaEntre = True
Log(" Vuelvo a llamar al Sub desde el Sub con valor = 3" )
Contador(3)
End If
Next
Log("Salgo del sub")
YaEntre = False
End Sub
Esto son los resultados del Log:
Entro en el Sub - Valor contador: 10
N: 1
N: 2
N: 3
N: 4
N: 5
Vuelvo a llamar al Sub desde el Sub con valor = 3
Entro en el Sub - Valor contador: 3
N: 1
N: 2
N: 3
Salgo del sub
N: 6
N: 7
N: 8
N: 9
N: 10
Salgo del sub
Espero haberte ayudado
Saludos