2016-08-03 5 views
0

ist mit IBM Worklight Studio 6.1.0.02-20160314-1430Besetzt-Anzeige versteckt in Android vor busyInd.hide() in Worklight 6.1

Am mit Multi-Seite und Adapter aufrufen. onSuccess Funktion Ich lade eine andere Seite. Und schrieb busyInd.hide() in onSuccess-Funktion nach dem Laden der Seite. Problem ist beschäftigt, Indikator wird ausgeblendet, bevor die Seite geladen wird. Nachdem die Antwort vom Adapter auf der nächsten Seite geladen wurde, wird die Zwischenzeit-Anzeige vor dem Laden der nächsten Seite ausgeblendet. Es passiert nur im Fall von Android und der gleiche Code funktioniert gut in IOS und WindowsPhone8.

this.form3Submit = function(){ 
     var sessionid="userID"; 
     busyInd.show(); 
     var invocationData = { 
      adapter : "API_Adapter", 
      procedure : "SomeSubmit", 
      parameters : [sessionid], 
      compressResponse : true 
     }; 

     WL.Client.invokeProcedure(invocationData, { 
      onSuccess : form3SubmitSuccess, 
      onFailure : AdapterFail,     
      timeout: timeout 
     }); 

}; 


form3SubmitSuccess = function(result){ 
    invocationResult = result.invocationResult; 
    if(invocationResult.isSuccessful) { 
     $("#contentData").load("Views/form4.html", null, function (response, status, xhr) { 
         referenceno = invocationResult.something.Response.somerefno; 

         if(referenceno != ''){ 
          //some lines of code 
         } 

         if(invocationResult.something.STATUS.CODE == '0'){ 
          //some lines of code 
          busyInd.hide(); 

         }else{ 
          //some lines of code 
          busyInd.hide(); 
         } 

         ko.applyBindings(self, $(".dynamic-page-content").get(0)); 
         busyInd.hide(); 
        }); 
       } 
      busyInd.hide(); 
    }; 

Deklarieren Besetztanzeige in main.js umsorgt wie folgt

var busyInd; 
function wlCommonInit(){ 
    busyInd = new WL.BusyIndicator('content', {text : 'Loading...'}); 
} 
+0

Können Sie einige Code-Snippets posten? Wenn Sie sagen, dass Sie eine andere Seite laden, wie laden Sie diese Seite dann? AJAX oder die Seite neu laden? –

+0

Sie laden eine weitere Seite im onSuccess von was? WL.Client.connect()? Haben Sie Zeitüberschreitungswerte für die Besetztanzeige festgelegt? –

+0

Code-Snippets hinzugefügt. @Vivin Keine Timeout-Werte für den Busy-Indikator – Rajendra

Antwort

0

Sie laden eine andere Seite in das Ansichtsfenster, dass die Betriebsanzeige vorher angezeigt wurde im Wesentlichen sind das Entfernen Sie die Besetztanzeige durch den HTML vollständig ersetzen. Dies wird dann erwartet.

Wenn Sie wollen, dass der Busy-Indikator noch nach dem Laden von form4.html angezeigt wird. Sie müssen es erst wieder anzeigen, nachdem Sie die HTML-Seite in das Ansichtsfenster geladen haben.

+0

Hallo Idan, Um klar zu sein Ich folge Multi-Seite-Architektur wie von IBM Worklight-Dokumentation vorgeschlagen. In div nur laden nächste Seite. Arbeitet busyIndicator nicht mit Mutipages? Schlägst du während der Arbeit mit Multipages vor, sollten Aufrufverfahren und Antworten auf der gleichen Seite behandelt werden? Bis jetzt nicht klar, warum dieses Problem nur in Android nicht in IOS und WP8 ist. Hier ist mein Problem: busyIndicator verbirgt sich, nach einiger Zeit lädt die nächste Seite. Warum gibt es eine Zeitlücke zwischen dem Ausblenden und dem nächsten Laden der Seite? Bitte löschen Sie diese Punkte. – Rajendra

Verwandte Themen