Salt la conținut

SUBIECTE NOI
« 1 / 5 »
RSS
Manager transport marfa. Pareri. ...

BIOS F.24 pentru HP Pavilion g7-2...

Meta Quest 3 512 gb

Father's Day
 Clipboard files copy/paste, filen...

Boardgame-uri despre cuvinte

Care-i treaba cu Reddit-ul? (nu m...

Diferente diferentiale
 Finala Eurovision 2024

De ce nu protestati?

Etanșare intre cada perete b...

Back-up box Fronius ?
 Router de la Digi nu face fata la...

Magnolii

Achizitie LG OLED evo 55C31LA - e...

Aplicatii PV Huawei Sun
 

Aplicație Android Webview cu ProgressDialog

- - - - -
  • Vă rugăm să vă autentificați pentru a răspunde
Niciun răspuns pentru acest subiect

#1
sebyku17

sebyku17

    New Member

  • Grup: Members
  • Mesaje: 2
  • Înscris: 26.05.2008
Încerc să fac o aplicație webview dar numai cum vreau eu nu îmi iese. Ideea e sa îmi apara acel progress Dialog de fiecare dată când se încarcă o pagină, unele pagini sunt cu iframe-uri de exemplu paginile cu facebook like, comment plugin șamd. Eu voi posta codul ce am reușit să fac și poate mă ajută cineva să îi dau de cap.
private WebView webview;
    private ProgressDialog progressDialog;
    boolean loadingFinished = true;
    boolean redirect = false;
    int nr = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        webview = (WebView) findViewById(R.string.webview);

        final Activity activity = this;

        webview.getSettings().setJavascriptEnabled(true);

        webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {

             if (!loadingFinished) {
                    redirect = true;
                 }
            
             loadingFinished = false;
             webview.loadUrl(url);
            
             return true;
            
            }
            
            public void onloadResource(WebView view, String url) {
                if (progressDialog == null) {
                    progressDialog = new ProgressDialog(activity);
                    progressDialog.setTitle("PitziWorld");
                    progressDialog.setMessage(progressDialog.toString());
                    progressDialog.setCancelable(isFinishing());
                    progressDialog.show();

                }
                loadingFinished = false;
            }
            public void onPageFinished(WebView view, String url) {
            
             if(!redirect){
                    loadingFinished = true;
                 }

                 if(loadingFinished && !redirect){
                     if (progressDialog.isShowing() || progressDialog!=null) {
                         progressDialog.hide();
                         progressDialog = null;
                     }
                 } else{
                    redirect = false;
                 }

                
                

            }
        });
        webview.loadUrl("http://www.example.com");
        
    }
        @Override
        public boolean onkeydown(int keyCode, KeyEvent event) {
         WebView webView = (WebView) findViewById(R.string.webview);
         //Verifica daca tasta apasata a fost back si daca exista istoric
            if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
             webView.goBack();
                return true;
            }
            // Daca nu a fost tasta back sau nu este istoric, returnam valoare buton

Anunturi

Bun venit pe Forumul Softpedia!

Utilizatori activi: 1

0 membri, 1 vizitatori, 0 utilizatori anonimi

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate