Italian si puo fare? imageview1 etc.

fifiddu70

Well-Known Member
Licensed User
Longtime User
Ciao eccomi qua con un'altra delle mie problematiche, devo caricare su un pannello con 100 imageview rinominate tutte come: imageview1, imageview2, imageview3 etc...
ad ogni imageview corrisponde un numero che dorvei caricare quindi imageview1.bitmap=loadbitmap(file.dirasset,"1occupato.jpg")
presumendo che numero è una variabile numerica.
Quindi sarà questo il codice che mi sembra troppo eccessivo per 100 imageview:

if numero = 1 then
imageview1.bitmap=loadbitmap(file.dirasset,"1occupato.jpg")
else if numero = 2 then
imageview2.bitmap=loadbitmap(file.dirasset,"2occupato.jpg")

e cosi via fino a 100.
Ora capirete che si tratta di una cosa mostruosa da fare oltre che ingombrante come codice,
esiste una alternativa a questa soluzione?
un abbraccio dalla Sicilia occidentale ( Mare di Selinunte )
 

Filippo

Expert
Licensed User
Longtime User
Ciao @fifiddu70 ,

non sarà esattamente quello che cerchi, ma prova questo:
B4X:
    Dim imageview1(100) As ImageView
    
    For i = 1 To 100
        If File.Exists(File.DirAssets, i & "occupato.jpg") Then
            imageview1(i - 1).Initialize("")
            imageview1(i - 1).bitmap = LoadBitmap(File.DirAssets, i & "occupato.jpg")
        End If
    Next
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Filippo non sono riuscito a farlo funzionare, ci proverò con calma perchè credo che sia uno sbaglio mio.
 

LucaMs

Expert
Licensed User
Longtime User
Filippo non sono riuscito a farlo funzionare, ci proverò con calma perchè credo che sia uno sbaglio mio.
L'esempio di Filippo (giusto, tranne il fatto che si "spreca" ImageView1(0) e che ImageView1(100) darebbe errore) presuppone che tu abbia un file di layout con le 100 ImageView.
Se invece le crei da codice, manca l'inizializzazione e l'aggiunta al pannello, da fare all'interno del ciclo.
 

Filippo

Expert
Licensed User
Longtime User
No, non si spreca niente, guarda l'esempio.

B4X:
imageview1(i - 1).bitmap
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
stasera al rientro dal mare ci lavoro di più perchè sto per farlo funzionare con il tuo prezioso consiglio, Filippo.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…