Italian scrollare all'indietro

Vasmar

Member
Licensed User
sì, infatti sto pensando di caricare 3 mesi e poi chiedere con un pulsante se si vogliono ulteriori 3 mesi indietro, e così via. Mi sembra di capire che poi, invece, a scrollare in avanti non ci sia problema
 

Sagenut

Expert
Licensed User
Longtime User
Eventualmente, sfruttando il Lazy Loading che è il metodo applicato nel mio esempio, potresti caricare (esempio) 1000 eventi considerando OGGI come giorno centrale (elemento 500).
Avresti così un buffer sia in avanti che indietro.
Finito tale buffer decidere come gestire.
Teoricamente di sarebbe da aggiungere item prima o dopo quando raggiungi l'inizio o la fine.
Non sò, butto idee lì.
 

Vasmar

Member
Licensed User
Non è per invidia, ma il calendario di Google, nell'elenco degli impegni in ordine di data "Programma", scrolla che è una bellezza, anche all'indietro liscio come l'olio. Perché il mio no? 🤗
Adesso sto provando a caricare da -1 mese a + 3 mesi. In avanti non ci sono problemi. Indietro quando arriva al confine deve chiedere altri dati cliccando su apposito pulsante, e carico altri 3 mesi indietro, sostituendo la lista attuale, così non ho problemi di inserimenti.
Vedremo se mi soddisfa o no.
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
ma in Sql non c'è modo di leggere sequenzialmente (1 per volta) in ordine decrescente? Per la verità andrebbe bene anche in ordine crescente: carico un'altra colonna con valore = 99999999 - data_evento.
SELECT ... FROM ...
WHERE...
ORDER BY CampoData DESC <--- DESCending = ordine inverso, dal maggiore al minore
LIMITI 20 <-- 20 record
OFFSET 10 <-- "salta" 10 record
 

LucaMs

Expert
Licensed User
Longtime User
una agenda/calendario per gestire i propri impegni/appuntamenti/eventi/compleanni.
E non è meglio una view-calendario, potendo evidenziare date "piene" (che contengano impegni/appuntamenti/eventi/compleanni, con colori o icone) e al click sul numero del giorno visualizzi l'elenco di "impegni/etc" per quella data?

https://www.b4x.com/android/forum/threads/b4x-lmb4xdatetemplate.164207/post-1007179

Ad es. a me quello sopra servirà (forse, se mi deciderò a creare quell'app) per evidenziare date per le quali siano state effettuate estrazioni del Lotto (tabella SQLite).
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Domanda idiota: nella tabella del database non hai un campo ID ??

Suggerimento idiota:
se in quel momento sulla CLV hai visualizzato i record (faccio un esempio) dal #1234 al #1253 (quindi 20 record) e voglio tornare indietro di 10 record basta rifare la query con "ID between 1224 and 1243" oppure "ID >= 1234 limit 20" (dipende da che database hai)
 

Vasmar

Member
Licensed User
Domanda idiota: nella tabella del database non hai un campo ID ??

Suggerimento idiota:
se in quel momento sulla CLV hai visualizzato i record (faccio un esempio) dal #1234 al #1253 (quindi 20 record) e voglio tornare indietro di 10 record basta rifare la query con "ID between 1224 and 1243" oppure "ID >= 1234 limit 20" (dipende da che database hai)
Sì, andrebbe bene se volessi l'elenco in ordine di ID, cioè di creazione del record, però in una agenda ha più senso avere l'elenco in ordine cronologico. Ma leggere venti record in ordine decrescente non è un problema, il problema, secondo la IA, è che né con Lazy, né con CLV si riesce a inserire righe dietro la prima:

"Lazy accetta l'inserimento di elementi prima del primo?" mia domanda.
"No, anche PreoptimizedCLV non supporta l'inserimento in cima — come avevamo già scoperto cercando la documentazione." sua risposta

E stiamo parlando di una IA a pagamento! Mi sa che dovrò fare questo elenco con il vostro aiuto, ignorando la Infame Adescatrice.
 

LucaMs

Expert
Licensed User
Longtime User
Sì, andrebbe bene se volessi l'elenco in ordine di ID, cioè di creazione del record, però in una agenda ha più senso avere l'elenco in ordine cronologico. Ma leggere venti record in ordine decrescente non è un problema, il problema, secondo la IA, è che né con Lazy, né con CLV si riesce a inserire righe dietro la prima:

"Lazy accetta l'inserimento di elementi prima del primo?" mia domanda.
"No, anche PreoptimizedCLV non supporta l'inserimento in cima — come avevamo già scoperto cercando la documentazione." sua risposta

E stiamo parlando di una IA a pagamento! Mi sa che dovrò fare questo elenco con il vostro aiuto, ignorando la Infame Adescatrice.
Ora non ricordo come lo feci (ovviamente potrei guardare il sorgente, ma non ora), ma se posso spostare in alto un elemento, direi che certamente posso anche crearlo da zero ed inserirlo in cima o dove voglio!
Vedi gif animata:
https://www.b4x.com/android/forum/threads/scrollare-allindietro.171807/post-1050654

[Che le paghi o no, le balle che inventano sono una marea!]
 

LucaMs

Expert
Licensed User
Longtime User
Sì, andrebbe bene se volessi l'elenco in ordine di ID, cioè di creazione del record, però in una agenda ha più senso avere l'elenco in ordine cronologico. Ma leggere venti record in ordine decrescente non è un problema, il problema, secondo la IA, è che né con Lazy, né con CLV si riesce a inserire righe dietro la prima:

"Lazy accetta l'inserimento di elementi prima del primo?" mia domanda.
"No, anche PreoptimizedCLV non supporta l'inserimento in cima — come avevamo già scoperto cercando la documentazione." sua risposta

E stiamo parlando di una IA a pagamento! Mi sa che dovrò fare questo elenco con il vostro aiuto, ignorando la Infame Adescatrice.


java_8MQ5YQ8JC6.gif


B4X:
Private Sub Button1_Click
    Dim Item As B4XView
    Item = CreateCLVItem("Io non posso essere aggiunto qui, in cima!!")
    CLV.InsertAt(0, Item, -1)
End Sub

B4X:
Private Sub CreateCLVItem(Text As String) As B4XView
    Dim pnlItem As B4XView = xui.CreatePanel("")
    pnlItem.SetLayoutAnimated(0, 0, 0, CLV.GetBase.Width, 40dip)
    pnlItem.LoadLayout("layCLVItem")
    'Sets here the properties of the views contained in the layout.
    lblItem.Text = Text
    Return pnlItem
End Sub
 
Last edited:
Top