Android WebView OnPageStarted, OnPageFinished & shouldOverrideUrlLoading pas appelé

Je développe une application en ce que lorsqu'un utilisateur navigue d'un lien vers un autre lien, je veux changer le contenu de la edittext et souhaitez afficher l'url dans l'edittext.

Mais ces 3 méthodes ne sont pas de travail, pas même de l'impression de journaux. Voici le code.

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

            String url_new = view.getUrl();

            Log.v("","Webview URL: "+url);

            addressbar.setText(url_new);

            return false;                            
        }

        @Override
        public void onPageFinished(WebView view, String url)
        {
            //TODO Auto-generated method stub
            super.onPageFinished(view, url);

            String url_new = view.getUrl();                

            Log.v("","Webview Function URL: "+url_new);

            addressbar.setText(url_new);
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon)
        {
            //TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);

            String url_new = view.getUrl();             

            Log.v("","Webview Function URL: "+url_new);

            addressbar.setText(url_new);
        }
    }); 

wv est le WebView et addressbar est le EditText dans le code ci-dessus.

Ce que je suis absent??

S'il vous plaît aider..!!

EDIT : Tout le Code..

public class Clip_From_Web_Home extends Activity
{
WebView wv;
TextView back, clip;
ProgressDialog dialog;
Button previous, reload, next, go;
LinearLayout ll;
public static final int REQUEST_CODE_CROP_IMAGE   = 0x1;
Bitmap drawingCache;
public File mFileTemp;
public static final String TEMP_PHOTO_FILE_NAME = "temp_photo_web_clip.png";
FileOutputStream out;
EditText addressbar;
String url;
@Override
protected void onCreate(Bundle savedInstanceState)
{
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.clip_from_web);
wv = (WebView) findViewById(R.id.clip_from_web_webView1);
back = (TextView) findViewById(R.id.clip_from_web_textview_back);
back.setOnClickListener(new OnClickListener()
{           
@Override
public void onClick(View arg0)
{
//TODO Auto-generated method stub
finish();
}
});
url = "http://www.google.com";
addressbar = (EditText) findViewById(R.id.clip_web_address_bar);
addressbar.setText(url);
//wv.getSettings().setJavaScriptEnabled(true);
wv.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{               
String url_new = view.getUrl();
Log.v("","Webview URL: "+url);
addressbar.setText(url_new);
return false;                            
}
@Override
public void onPageFinished(WebView view, String url)
{
//TODO Auto-generated method stub
super.onPageFinished(view, url);
String url_new = view.getUrl();                
Log.v("","Webview Function URL: "+url_new);
addressbar.setText(url_new);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
//TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
String url_new = view.getUrl();             
Log.v("","Webview Function URL: "+url_new);
addressbar.setText(url_new);
}
}); 
go = (Button) findViewById(R.id.clip_web_go);
go.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
//TODO Auto-generated method stub
url = addressbar.getText().toString();
Log.v("","URL ENTERED: "+url);
if(url.equals(""))
{
url = "http://www.google.com";
dialog = ProgressDialog.show(Clip_From_Web_Home.this,"","Loading",true,false);
new webview_load().execute();
}
else
{
dialog = ProgressDialog.show(Clip_From_Web_Home.this,"","Loading",true,false);
new webview_load().execute();
}
}
});                 
dialog = ProgressDialog.show(Clip_From_Web_Home.this,"","Loading",true,false);
new webview_load().execute();   
}   
class webview_load extends AsyncTask<Void, Void, Void>
{
@Override
protected Void doInBackground(Void... arg0)
{
//TODO Auto-generated method stub              
return null;
}
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onPostExecute(Void result)
{
//TODO Auto-generated method stub
super.onPostExecute(result);
wv.setBackgroundColor(0);
wv.setBackgroundResource(android.R.color.black);
wv.setWebChromeClient(new WebChromeClient());
wv.setWebViewClient(new WebViewClient());
WebSettings settings = wv.getSettings();
settings.setBuiltInZoomControls(true);
//settings.setDefaultZoom(ZoomDensity.MEDIUM);
settings.setDefaultZoom(ZoomDensity.FAR);
wv.setInitialScale(125);
//settings.setUseWideViewPort(true);
settings.setRenderPriority(RenderPriority.HIGH);
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(false);
wv.loadUrl(url);
int secondsDelayed = 5;
new Handler().postDelayed(new Runnable()
{
public void run()
{
Log.v("","In Handler");                  
dialog.dismiss();
}
}, secondsDelayed * 1000);          
}
}   
}
  • Publier vos tous de code où vous mettez en œuvre WebViewClient?
  • Signifie? Je ne suis pas arriver. C'est le code que j'ai fait dans onCreate() et ma classe s'étend de l'Activité.
  • je veux dire post votre code d'Activité
  • Désolé mon ami. C'est un app Live. Je ne peux pas partager. S'il vous plaît dites-moi ce que vous voulez vérifier??
  • ok beaux-dis-moi juste vous charger l'url avant de WebViewClient() paramètre?
  • veuillez vérifier la mise à jour de question. J'ai ajouté le code..
  • laissez-nous continuer cette discussion dans le chat
  • wv.getSettings().setJavaScriptEnabled(true); wv.getSettings().setLoadWithOverviewMode(true); wv.getSettings().setUseWideViewPort(false); écrire ces tous avant la définition de ces deux wv.setWebChromeClient(nouveau WebChromeClient()); wv.setWebViewClient(nouveau WebViewClient());

InformationsquelleAutor Mitesh Shah | 2014-03-18