Italian finestra stato aggiornamento query [risolto]

Discussion in 'Italian Forum' started by zenlab, May 29, 2018.

  1. zenlab

    zenlab Member Licensed User

    ciao, sto sviluppando un applicazione per android che tramite una richiesta HttpJob scarica un file json che poi inserisce in un database sqlite locale...
    ho creato una classe con due funzioni di tipo "resumableSub":
    getelenco() che scarica il json e
    processElenco() che carica nelle varie tabelle...

    poi ho richiamato da un activity le due funzioni in questo modo:
    Code:
    overlow.Visible = True
        loading.Text = 
    "Richiesta Elenco interventi al server....."
    Wait For(WS.GetElenco()) Complete (status As Boolean)
        
    If status Then
            loading.Text = 
    "Elaborazione Dati....."
            
    Wait For(WS.processElenco()) Complete (status As Boolean)
                
    If status Then
                createlist(
    True)
                
    End If
        
    End If
        overlow.Visible = 
    False
    Il problema è che il loading.Text che è una semplice label, non si aggiorna correttamente....
    provato anche con ProgressDialogShow2 ma anche questo mostra il primo e poi ciccia....
    qualche idea di come risolvere

    ps
    overlow è un pannel che copre il contenuto...
     
  2. udg

    udg Expert Licensed User

    Loading.Trxt cambia solo se status è True..
     
  3. LucaMs

    LucaMs Expert Licensed User

    Non mi convince il fatto che tu abbia usato lo stesso nome per la variabile restituita dalle due routine, ovvero "status" (benché in una situazione normale non ci sarebbero problemi, le Resumable sono ancora un po' misteriose :D)
     
  4. zenlab

    zenlab Member Licensed User

    :) hi camiato nome alla variabile status...chiamandola statusa e statusb... ora il prolema sembra leggermente diverso....
    in pratica rimane il PRIMO MESSAGGIO per tutta la durate dell GetElenco() e per quasi tutta la procedura del processElenco() (vedo dai log i vari insert nel database....) quindi per un istante mostra il SECONDO MESSAGGIO e poi chiude....
    Code:
    overlow.Visible = True
        loading.Text = 
    "PRIMO MESSAGGIO"
        
    Wait For(WS.GetElenco()) Complete (statusA As Boolean)
        
    If statusA Then
            loading.Text = 
    "SECONDO MESSAGGIO"
            
    Wait For(WS.processElenco()) Complete (statusB As Boolean)
            
    If statusB Then
                loading.Text = 
    "FINE"
                createlist(
    True)
            
    End If
        
    End If
     
  5. Star-Dust

    Star-Dust Expert Licensed User

    metti uno Sleep(1000) e ti mantiene il messaggio almeno un secondo.

    Oppure cosi (Calcola il tempo di attesa del WaitFor e per differenza fa aspettare un secondo)
    Code:
    '
        overlow.Visible = True
        loading.Text = 
    "PRIMO MESSAGGIO"
        
    Wait For(WS.GetElenco()) Complete (statusA As Boolean)
        
    If statusA Then
            loading.Text = 
    "SECONDO MESSAGGIO"
            
    Dim T as Long= DateTime.Now + 1000
            
    Wait For(WS.processElenco()) Complete (statusB As Boolean)
            Sleep(T-
    DateTime.Now)
            
    If statusB Then
                loading.Text = 
    "FINE"
                createlist(
    True)
            
    End If
        
    End If
     
  6. LucaMs

    LucaMs Expert Licensed User

    Io tenterei solo un semplice :

    loading.Invalidate (o Activity.Invalidate)
    Sleep(0)

    subito dopo loading.Text =...
     
  7. zenlab

    zenlab Member Licensed User

    ho provato con lo sleep....e ora funziona!!! MITICO!
    l'ho messo però subito dopo il loading.text = ... impostandolo direttamente ad 1 secondo....
    con il loading.invalidate invece il risultato non cambiava (senza lo sleep)
    direi che ora sono apposto! Grazie 1000 dell'aiuto e alla prossima
     
  8. LucaMs

    LucaMs Expert Licensed User

    Speriamo di no, ovvero che tu non abbia più altri problemi ;)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice