2013-02-13 3 views
2

Хорошо, поэтому я получаю тезисы ошибок Я не знаю, почему я получаю это, но кажется, что для остального мира он работает для них, если theres другой способ, я должен делать это, я изменюсь код, но кажется, прямо сейчас мое затмение не нравится мне очень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 

кОД

@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

+0

Нету не работает – user2066751

+0

Каких class - это функция, определенная в? – Matthieu

ответ

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

+0

ok теперь у меня другая проблема, кнопка теперь не вернет страницу, она просто ничего не делает – user2066751

+0

Вы имеете в виду кнопку «Назад»? – Matthieu

Смежные вопросы