2013-02-13 31 views
2

好的,所以我得到這些錯誤 我不知道爲什麼我得到這個,但它似乎是世界其他地方它爲他們工作,如果theres另一種方式,我必須去做這個我會改變的代碼,但它似乎截至目前我的Eclipse不喜歡我很WebViewClient onKeyDown覆蓋錯誤

The method onKeyDown(int, KeyEvent) of type XvGForm.XvGFormClient must override or implement a supertype method 

The method onKeyDown(int, KeyEvent) is undefined for the type WebViewClient 

CODE

@Override 
    public boolean onKeyDown (int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 

     mWebView.canGoBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

確定,所以這裏是完整的代碼

package com.xtremevisiongaming.xtremevisiongamingformapp; 

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.KeyEvent; 
import android.view.Menu; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.view.Window; 
public class XvGForm extends Activity { 

    private WebView mWebView; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_xv_gform); 

    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.loadUrl("http://www.xtremevisiongaming.com/forum/forum.php"); 
    mWebView.setWebViewClient(new XvGFormClient()); 



    } 
private class XvGFormClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView webview, String url) 
{ 
    webview.loadUrl(url); 
    return true; 
} 


@Override 
public boolean onKeyDown (int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 

     mWebView.canGoBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

} 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_xv_gform, menu); 
    return true; 
    } 

} 
+2

一件事,你可能想要刪除的分號(;)之後的「如果」 – Matthieu 2013-02-13 01:08:24

+0

都能跟得上沒有工作 – user2066751 2013-02-13 01:14:35

+0

什麼樣的類是這個函數中定義的? – Matthieu 2013-02-13 01:27:45

回答

3

您的問題是,現在的onKeyDown功能的private class XvGFormClient extends WebViewClient

你只需要通過一個功能拉昇一個右括號內聲明。我加一些縮進,也許,這將有助於你看到它:

private class XvGFormClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView webview, String url) 
    { 
     webview.loadUrl(url); 
     return true; 
    } 
} 

@Override 
public boolean onKeyDown (int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 

     mWebView.goBack(); // go back in only the web view 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

非常感謝你幫助錯誤去了 – user2066751 2013-02-13 01:46:24

+0

好吧,現在我有一個不同的問題,按鈕現在不會返回頁面,它只是沒有做任何事 – user2066751 2013-02-13 03:58:42

+0

你的意思是後退按鈕? – Matthieu 2013-02-13 17:10:18