2010-02-23 42 views
5

Estoy trabajando en un webview. Si hago clic en cualquier cosa en mi webview, redirige a otro enlace utilizando la clase webviewclient.botón hacia atrás y hacia adelante para vista web en android. ¿cómo?

Ahora puse un pie de página contiene back y forward botón, para hacer la funcionalidad que en el navegador ordinario.

Puedo trabajar sobre back y forward de webview. Funciona bien.

Ahora quiero establecer un botones en el pie de página que inicialmente no deberían estar enfocados y debería poder hacer clic y no hacer clic dinámicamente.

+1

Sigue borrar y volver a agregar la misma pregunta . Tal vez deberías volver a escribir la pregunta. Puede haber razones por las cuales las personas no responden su pregunta. Yo, por mi parte, no tengo absolutamente ninguna idea de lo que significa la última oración. – CommonsWare

+0

cuando la vista web se carga inicialmente, no hay opciones de reenvío (canGoForward()) ni atrasado (canGoBack()), ¿o no? entonces quiero configurar esos botones no deben ser enfocables o hacer clic. eso es todo amigo. – Praveen

Respuesta

0

Si su diseño como

<?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" /> 

Ahora podemos implementar que así ...

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 
Cuestiones relacionadas