Semplicissimo test: Creo una List con dei type, la salvo in un file e quando la leggo ricevo l'errore. Perchè?
Test in B4J (ma credo sia uguale in B4A)
Error occurred on line: 54 (B4XMainPage)
java.lang.ClassCastException: class java.lang.String cannot be cast to class b4j.example.b4xmainpage$_persona (java.lang.String is in module java.base of loader 'bootstrap'; b4j.example.b4xmainpage$_persona is in unnamed module of loader 'app')
at b4j.example.b4xmainpage._button3_click(b4xmainpage.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
...
ecc
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			Test in B4J (ma credo sia uguale in B4A)
Error occurred on line: 54 (B4XMainPage)
java.lang.ClassCastException: class java.lang.String cannot be cast to class b4j.example.b4xmainpage$_persona (java.lang.String is in module java.base of loader 'bootstrap'; b4j.example.b4xmainpage$_persona is in unnamed module of loader 'app')
at b4j.example.b4xmainpage._button3_click(b4xmainpage.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
...
ecc
			
				B4X:
			
		
		
		Sub Class_Globals
    
    Private Root As B4XView
    Private xui As XUI
    Private Const FileNameList As String = "LaLista.txt"
    Type Persona(Nome As String, Cognome As String, Eta As Int, Hobby(3) As String)
        
End Sub
Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
    xui.SetDataFolder("ZZZmiaCartella")
    
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
End Sub
Private Sub Button3_Click
    
    'Creazione di una Lit di type e salvataggio del file
    Dim aList1 As List
    aList1.Initialize
    Dim mHobby(2) As String
    mHobby(0)="Sport"
    mHobby(1)="Musica"
    aList1.Add(CreaPersona("ABATE","ALDO", 12,mHobby))
    
    mHobby(0)="Canto"
    mHobby(1)="Caccia"
    aList1.Add(CreaPersona("BALDI","BRUNO", 32, mHobby))
        
    File.WriteList(xui.DefaultFolder,FileNameList,aList1)
    'Lettura del file e memorizzazione nell List
    aList1.Clear
    aList1=File.ReadList(xui.DefaultFolder, FileNameList)
        
    Dim i As Int
    For i = 0 To aList1.Size-1
        Dim mPer As Persona = aList1.Get(i) '====>>QUI DA' ERRORE'
' Anche usando 
For each mPer as Persona in aList1 
'ottengo errore. Perchè no posso usarlo?
 
       Log(mPer.Nome)
    Next
    
End Sub
Public Sub CreaPersona (Nome As String, Cognome As String, Eta As Int, Hobby() As String) As Persona
    Dim aPerson As Persona
    aPerson.Initialize
    aPerson.Nome = Nome
    aPerson.Cognome = Cognome
    aPerson.Eta = Eta
    aPerson.Hobby = Hobby
    Return aPerson
End Sub 
				 
 
		 
 
		 
 
		 
						
					 
 
		 
 
		 
 
		 
 
		