2010-02-23 16 views
5

Sto lavorando a un webview. Se faccio clic su qualcosa nel mio webview, questo reindirizza a un altro collegamento utilizzando la classe webviewclient.pulsante avanti e indietro per webview in Android. Come?

Ora inserisco un piè di pagina contenente il pulsante back e forward, per eseguire la funzionalità che nel normale browser.

Posso lavorare per back e forward di webview. Funziona bene.

Ora voglio impostare un pulsante nel footer inizialmente non dovrebbe essere focalizzato e dovrebbe funzionare cliccabile e non cliccabile dinamicamente.

+1

Continui la cancellazione e ri-aggiungendo la stessa domanda . Forse dovresti riscrivere la domanda. Ci possono essere motivi per cui le persone non rispondono alla tua domanda. Io, per esempio, non ho assolutamente idea di cosa significhi l'ultima frase. – CommonsWare

+0

quando la pagina web viene caricata intenzionalmente non ci sono opzioni avanti (canGoForward()) o indietro (canGoBack()), non è vero? quindi voglio impostare quei pulsanti non dovrebbero essere focalizzabili o cliccabili. questo è tutto amico – Praveen

risposta

0

Se il layout come

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<WebView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/webView1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" /> 

<Button 
    android:id="@+id/backButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:enabled="false" 
    android:text="Back"/> 

<Button 
    android:id="@+id/forwardButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_toRightOf="@+id/previousButton" 
    android:text="Forward" 
    android:enabled="false" /> 

Ora possiamo implementare che in questo modo ...

private WebView webView; 

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.webview); 

//Web View Initialization 
webView = (WebView) findViewById(R.id.webView1); 
webView.getSettings().setJavaScriptEnabled(true); 

//Button Initialization 
final Button backButton =(Button) findViewById(R.id.backButton); 
final Button forwardButton =(Button) findViewById(R.id.forwardButton); 

//Back Button Action 
backButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

      // Going back if canGoBack true 
      if(webView.canGoBack()){ 
       webView.goBack(); 
      } 
    } 
}); 
//Forward Button Action 
forwardButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // Go Forward if canGoForward is frue 

      if(webView.canGoForward()){ 
       webView.goForward(); 
      } 
    } 
}); 
webView.setWebViewClient(new WebViewClient() { 



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

    @Override 
    public void onPageFinished(WebView view, String url) { 

     super.onPageFinished(webView, url); 

     //Make Enable or Disable buttons 
     backButton.setEnabled(view.canGoBack()); 
     forwardButton.setEnabled(view.canGoForward()); 

    } 

    @Override 
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 

     super.onReceivedError(webView, errorCode, description, failingUrl); 
     Toast.makeText(WebViewActivity.this, description, Toast.LENGTH_LONG); 
    } 
}); 
webView.loadUrl("www.google.com");//Your url goes hare 
Problemi correlati