Italian Item personalizzato per listview

ivanomonti

Expert
Licensed User
Longtime User
Ciao a tutti e buon giorno, avrei il bisogno di creare una listview con item personalizzati

che ne so 2 righe un disegno una check e colori doversi nelle scritte ... esistono degli esempi creando tutto da codice.
 

ivanomonti

Expert
Licensed User
Longtime User
sto usando questo codice

B4X:
      Dim m As Map
      m.Initialize
      m = DataLog.listaSpesa.Get(i)

      Dim l1 As Label
      l1.Initialize("")
      l1.Text = m.Get("prodotto")
      If m.Get("status") = "1" Then 
         l1.TextColor = Colors.Red
      Else
         l1.TextColor = Colors.Black
      End If
      
      Dim xobj As Panel
      xobj.Initialize("xobj")
      xobj.SetLayout(0,0,300,32)
      xobj.AddView(l1,5dip,15dip,xobj.Width,22dip)
      
      ListView1.AddSingleLine(xobj)

ma sulla sezione xObj va sempre in bomba eppure non dovrebbe o sono fuori strada.
 

ivanomonti

Expert
Licensed User
Longtime User
se è possibile posta l'errore.

B4X:
xobj.SetLayout(0,0,300,32)

** Activity (main) Pause, UserClosed = false **
** Activity (lista) Create, isFirst = true **
lista_activity_create (B4A line: 60)
xobj.SetLayout(0,0,300,32)
java.lang.NullPointerException
at anywheresoftware.b4a.objects.ViewWrapper.SetLayout(ViewWrapper.java:249)
   at b4a.example.lista._activity_create(lista.java:336)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at anywheresoftware.b4a.BA.raiseEvent2(BA.java:167)
   at b4a.example.lista.afterFirstLayout(lista.java:89)
   at b4a.example.lista.access$100(lista.java:16)
   at b4a.example.lista$WaitForLayout.run(lista.java:74)
   at android.os.Handler.handleCallback(Handler.java:605)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4507)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
   at dalvik.system.NativeStart.main(Native Method)
java.lang.NullPointerException

Ecco l'errore.
 
D

Deleted member 103

Guest
Nella Listview non si possono inserire dei pannelli.
Per fare quello che vuoi tu devi usare una ScrollView.
 

ivanomonti

Expert
Licensed User
Longtime User
Ivano,
qualche post precedente ti ho messo due link che fanno al caso tuo, hai provato a dargli un occhio ?

Si ma mi sto intestardendo di brutto su quancosa che sicuramente non conosco e voglio VINCERE hahahah ma so di avere perso, mo mi arrendo e scarico gli esempi nei link da te passati :-(


B4X:
   Dim xleft, xtop As Int
   
   xleft = 0
   xtop = 0
   
   ScrollView1.Initialize(32*DataLog.listaSpesa.Size)
   

      
   For i = 0 To DataLog.listaSpesa.Size-1
   
      Dim m As Map
      m.Initialize
      m = DataLog.listaSpesa.Get(i)

      Dim l1 As Label
      l1.Initialize("")
      l1.Text = m.Get("prodotto")
      
      If m.Get("status") = "1" Then 
         l1.TextColor = Colors.Red
      Else
         l1.TextColor = Colors.Black
      End If
      
      xobj.Initialize("xobj")
      xobj = ScrollView1.Panel
      xobj.Height = 32
      xobj.Width = 300
      xobj.AddView(l1,5dip,15dip,xobj.Width,22dip)
      
      xtop = xtop + 32
      
   Next
 
D

Deleted member 103

Guest
Dai una guardata a questa Classe di Erel.

È semplicissima da usare, studia un pò l'esempio incluso. Vedrai che avrei subito il successo che cerchi.

PS. non disperare, c'è sempre una soluzione. ;)
 

ivanomonti

Expert
Licensed User
Longtime User
Dai una guardata a questa Classe di Erel.

È semplicissima da usare, studia un pò l'esempio incluso. Vedrai che avrei subito il successo che cerchi.

PS. non disperare, c'è sempre una soluzione. ;)

Chiedo venia, per motivi di lavoro non ho potuto mettermi al lavoro, poi nel frattempo mi hanno dato quasi un obbligo di studiarmi anche xamarin oime troppa carne nel fuoco.

Per quanto riguarda item personalizzato non riesco a cavarne una beata fava, chi ho un esempio veloce e pratico da postarmi :) senza troppi giri di codice.

OT, chi usa xamarin o conosce qualcuno che può passarmi delle info... grazie.
 

adalexander

Member
Licensed User
Longtime User
ciao puoi darmi una mano finora mi ignorano tutti capisco che sono scarso, ma vorrei imparare meglio, devo inserire una scrollview verticale ho letto diverse guide incomprensibili, un altra che praticamente muove anche gli oggetti, io ho una imageview e vicino una label dove scrivo qualcosa come faccio a far si che scorra solo verticalmente senza che gli oggetti vadano a far una passeggiata? altrimenti potrei usare una listview che ho ma ho il problema che non riesco a far partire una chiamata dalla listview quindi l'ho eliminata, grazie..
 

LucaMs

Expert
Licensed User
Longtime User
Personalmente, non ho letto tuoi post ignorati, adalexander (consiglio: metti una immagine nel tuo profilo, sarai meno ignorato ;)).

Non ho capito perfettamente cosa intendi dire con: "senza che gli oggetti vadano a far una passeggiata", ma penso che potrebbe esserti utile:

[Class] CheckList
 

adalexander

Member
Licensed User
Longtime User
Personalmente, non ho letto tuoi post ignorati, adalexander (consiglio: metti una immagine nel tuo profilo, sarai meno ignorato ;)).

Non ho capito perfettamente cosa intendi dire con: "senza che gli oggetti vadano a far una passeggiata", ma penso che potrebbe esserti utile:

[Class] CheckList

no problem, è un periodo veramente nero, avevo visto delle guide per le liste view e facendo degli esercizi vedevo gli oggetti che si spostavano stranamente, comunque no problem abbandonate le lliste view ne ho fatto una e va bene così, adesso ho un altro problema che sto cercando di risolvere da giorni, devo inserire un scroll view verticale dove all'interno ho 7 bottoni ma ne devo inserire altri e vorrei per evitar di creare un altra schermata uno scroll così da poterli visitare tutti nello stesso screen come posso fare, anche quì ho letto diverse guide ma mi hanno solo disorientato, io purtroppo sono abbastanza scarso nella programmazione preferisco la grafica, ma vorrei capire, sto facendo diversi sforzi per creare qualcosa e già qualcosa ho imparato, ma non riesco a fare tutto, ho diverse lacune, puoi aiutarmi? grazie e scusa per il disturbo!
 

LucaMs

Expert
Licensed User
Longtime User
Nessun disturbo, ci diamo una mano a vicenda, ovviamente.

Il guaio è che non ho capito ESATTAMENTE cosa vuoi ottenere (devo dire che sono alquanto distratto anch'io, in questo periodo).

Vuoi poter aggiungere dei buttons durante l'esecuzione? Fare in modo di avere un pannello (unico?) muovendo il quale vedere questo o quell'altro button?

Magari fai un disegno (anche con Paint) e postalo.

Cmq, se non ricordo male, la classe che ti ho consigliato è da considerarsi una scrollview; puoi aggiungerci molte view.
 

adalexander

Member
Licensed User
Longtime User
Nessun disturbo, ci diamo una mano a vicenda, ovviamente.

Il guaio è che non ho capito ESATTAMENTE cosa vuoi ottenere (devo dire che sono alquanto distratto anch'io, in questo periodo).

Vuoi poter aggiungere dei buttons durante l'esecuzione? Fare in modo di avere un pannello (unico?) muovendo il quale vedere questo o quell'altro button?

Magari fai un disegno (anche con Paint) e postalo.

Cmq, se non ricordo male, la classe che ti ho consigliato è da considerarsi una scrollview; puoi aggiungerci molte view.
tranquillo, sono io che mi sono spiegato male, ok praticamente ho inserito delle immagini piccole che poi al tocco diventano grandi fino a coprire l'area dello screen, ne ho messe solo 6 per fare delle proe ma ne dovrei mettere almeno 30 quindi devo fare uno scrollview verticale, ho delle cose fatte ma non ho capito come inserirle ci ho provato ma non funziona, poi mi sono sorti altri dubbi, sull'orientamento del telefono infatti girandolo alcune immagini e icoe spariscono questo perchè non ho creato il codice adatto per l'orientamento che sinceramete non son come si faccia, infine un altro problema è: quand si crea un app e si mette sul proprio dispositivo affinchè venga visto bene anche su altri smartphone come si fa? oppure di ridimensiona da solo? spero di essere stato più chiaro sennò domanda pure, anche per me è un periodo incredibile adesso sto alle prese con un sito che mi da dei problemi sui banner e sulla cache quindi sto cercando di metterlo operativo, chiedo a voi per basic4android percè siete bravi io purtroppo sono scarsetto, e a volte penso di distrubare, ecco perchè cerco di fare sempre da solo ma a volte faccio solo danni, grazie del tuo aiuto in anticipo.
 

LucaMs

Expert
Licensed User
Longtime User
Vorrà dire che mi darai qualche aiuto sui siti (io non ne ho mai pubblicati - sto iniziando a lottare con XAMPP e Joomla, ma per adesso vincono loro :)).

La questione dell'adattamento della grafica alle varie risoluzioni e orientamento è uno tra i più rognosi (non complicatissimo, ma di sicuro fastidioso).

Come aggiungere da codice una imageview ad un panel è semplice, funziona come con le activity:

MyPanel..AddView(MyImageView, PosizioneSinitra, PosizioneAlto, Larghezza, Altezza).

Ovviamente mi riferisco al panel interno della scrollview, MyScrollView.Panel.

Quando ruoti il telefono, accade una cosuccia grave: l'activity termina e poi si riavvia, quindi si perdono i valori in memoria.
A questo link ne abbiamo discusso un po', dagli un'occhiata.

Per l'adattamento dei display, secondo la mia opinione (!), dovresti fare in questo modo:

1) Creare due layout per ogni activity, una per ogni orientamento (cioè una verticale e una orizzontale, Portrait e Landscape).;

2) Aggiungere al tuo progetto il modulo di Klaus "Scale" (lo trovi all'interno del file zip allegato a questo post);

3) nell'activity_create, dopo il caricamento del layout, usi due righe di codice, che utilizzato il modulo suddetto, per adattare il layout:

Scale.Initialize
Scale.ScaleAll

Poi tutto questo, vedrai sul sito, viene molto discusso.

Puoi sempre fare piccoli progetti di prova (conviene sempre) e magari postarli (zippati, Menu File - Export to Zip) per farli correggere, se serve.

Ciao
 
Last edited:

adalexander

Member
Licensed User
Longtime User
Vorrà dire che mi darai qualche aiuto sui siti (io non ne ho mai pubblicati - sto iniziando a lottare con XAMPP e Joomla, ma per adesso vincono loro :)).

La questione dell'adattamento della grafica alle varie risoluzioni e orientamento è uno tra i più rognosi (non complicatissimo, ma di sicuro fastidioso).

Come aggiungere da codice una imageview ad un panel è semplice, funziona come con le activity:

MyPanel..AddView(MyImageView, PosizioneSinitra, PosizioneAlto, Larghezza, Altezza).

Ovviamente mi riferisco al panel interno della scrollview, MyScrollView.Panel.

Quando ruoti il telefono, accade una cosuccia grave: l'activity termina e poi si riavvia, quindi si perdono i valori in memoria.
A questo link ne abbiamo discusso un po', dagli un'occhiata.

Per l'adattamento dei display, secondo la mia opinione (!), dovresti fare in questo modo:

1) Creare due layout per ogni activity, una per ogni orientamento (cioè una verticale e una orizzontale, Portrait e Landscape).;

2) Aggiungere al tuo progetto il modulo di Klaus "Scale" (lo trovi all'interno del file zip allegato a questo post);

3) nell'activity_create, dopo il caricamento del layout, usi due righe di codice, che utilizzato il modulo suddetto, per adattare il layout:

Scale.Initialize
Scale.ScaleAll

Poi tutto questo, vedrai sul sito, viene molto discusso.

Puoi sempre fare piccoli progetti di prova (conviene sempre) e magari postarli (zippati, Menu File - Export to Zip) per farli correggere, se serve.

Ciao
ciao ti ho messo un estratto dello scrollview che ho, solo che io lo devo adattare ad una pagina dove adesso ho solo 6 banner ma poi ne devo aggiungere altri 30 come vedi nell'esempio mi incasino perchè vedo cose per me strane, ovvero:
Btn1.RemoveView
txt1.RemoveView
che cosa significa, ma poi come faccio ad adattarli ai banner che ho, io nono ho una edittext ma solo banner ovvero solo alcuni bottoni con delle miniature che quando ci si clicca sopra compar eun messaggio che spiega il servizio e poi parte una chiamata a dei numeri che ho, scusa l adomanda idiota, ma purtroppo la programmazione mi entra poco sto cercando di forzare la mia banca dati per farmi entrre anche la programmazione, ma mentre sulla grafica ho molta passione e la preferisco e tutto quello che vedo lo apprendo nel tempo, sulla programmazione mi trovo male, per l'adattamento ci rinuncio tanto farò una dmeo poi usrò un altro programma questo per me è ostico e troppo lungo da imparare alla perfezione, come si inseriscono due layout in un activity, lo avevo fatto in passato ma poi ho chiuso questo programma per dei mesi perchè lo ritenevo troppo difficile e ancora non ho cambiato idea, invece pre te per quanto rigurarda xaamp, è una specie di server virtuale, ti da l'impressione di lavorare in un db proprio serve solo per fare dei test e provare a costruire siti, lo usavo ma poi mi sono appoggiato ad un db, se vuoi consigli chiedi pure, quale problema hai?
il mio consiglio è di lavorare con wordpress come faccio io con wordpress posso darti una mano con joomla no non lo conosco ma ho un amico che lo usa, quindi quando vuoi chiedi pure...ti serve una guida per xaamp? fammi sapere a presto ciao.
la cosa bella di questo forum e così ce ne sono pochi che siete una bella realtà ci si da una mano l'uno cn l'altro anche con uno scarso come me, e questo non è da tutti, perciò abbiate pazienza con me e grazie a tutto lo staff!
 

Attachments

  • scrollview.jpg
    scrollview.jpg
    91.8 KB · Views: 225
Top