2011-01-24 3 views
3

フォワードメニューボタンをアンドロイドのプライベートブラウザのように無効にして有効にする方法を知りたいと思います。私は3つのウェブビューを表示しているアプリを書いており、アンドロイド独自のブラウザオプションの基本機能を組み込みたいと考えています。すべての機能は、現在の機能のwrtとしてうまくいきます。唯一のものは、 'forward'メニューアイテムが常に有効になっていることです。私はcanGoFwdならgoFwdならconditinも言いました。事は、私は問題が動的に「前進」ボタンのために状態を変更され、個別のメニュー項目を定義し、個別に機能を前方に書いてきているアンドロイドウェブビューフォワードボタン

答えて

4
private WebView webView; 

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

    webView = (WebView) findViewById(R.id.webView1); 
    webView.getSettings().setJavaScriptEnabled(true); 
    final Button previousButton =(Button) findViewById(R.id.previousButton); 

    previousButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

       if(webView.canGoBack()){ 
        webView.goBack(); 
       } 
     } 
    }); 
    final Button forwardButton =(Button) findViewById(R.id.forwardButton); 

    forwardButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

       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); 

      previousButton.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(""); 

webview.xmlファイル

<?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/previousButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:enabled="false" 
     android:text="previous"/> 

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