簡體   English   中英

方法不會使用 onBackPressed() 覆蓋其超類 Android Fragment 中的方法

[英]Method does not override method from its superclass, Android Fragment with onBackPressed()

所以我有一個非常簡單的 webview 應用程序,我正在嘗試實現一個 onBackPressed() 以便當他們單擊后退按鈕時,用戶會返回上一頁。

我在網上看了一下,它指出我必須添加以下內容:

@Override
public void onBackPressed() {
    if (webView.canGoBack()) {
        webView.goBack();
    } else {
        super.onBackPressed();
    }
}

這是我嘗試添加 onBackPressed() 的活動:

public class ForumActivity extends Fragment {
    private WebView webView;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.activity_forum, container, false);
        final WebView webView = (WebView) view.findViewById(R.id.forum_view);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
                return false;
            }

        });

        // mWebView settings...
        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setAppCacheEnabled(true);
        settings.setLoadWithOverviewMode(true);
        settings.setUseWideViewPort(true);
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
        settings.setDisplayZoomControls(false);
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        settings.setDomStorageEnabled(true);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.setScrollbarFadingEnabled(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        } else {
            webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
        // Load URL
        webView.loadUrl("link");

        return view;


    }

當我最初嘗試添加它時,會發生這種情況 它顯示的錯誤是“方法不會覆蓋其超類中的方法”。

我該怎么辦?

這是我嘗試添加 onBackPressed() 的活動:

您正在鏈接片段的代碼。 不是活動。 有很大的不同。
片段沒有回調來攔截回按。
活動做。
您已將該類命名為“ForumActivity”,但它實際上是一個 Fragment。

因此,您必須覆蓋 Activity 中的方法,然后將其與您的 Fragment 相關聯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM