gpt4 book ai didi

java - 方法不会使用 onBackPressed() 覆盖其父类(super class) Android Fragment 中的方法

转载 作者:行者123 更新时间:2023-12-02 09:36:19 25 4
gpt4 key购买 nike

所以我有一个非常简单的 webview 应用程序,我正在尝试实现 onBackPressed() ,以便当用户单击后退按钮时,用户返回到上一页。

我上网查了一下,它说我必须添加这个:

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

这是我尝试添加 onBackPressed() 的 Activity :

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;


}

当我最初尝试添加它时,this happens 。它显示的错误是“方法不会覆盖其父类(super class)中的方法”。

我应该做什么?

最佳答案

This is the activity that I am trying to add the onBackPressed() on:

您正在链接 fragment 的代码。不是 Activity 。差别很大。
fragment 没有回调来拦截后按。
Activity 确实如此。
您已将该类命名为“ForumActivity”,但它实际上是一个 Fragment。

因此,您必须重写 Activity 中的方法,然后将其与 Fragment 链接起来。

关于java - 方法不会使用 onBackPressed() 覆盖其父类(super class) Android Fragment 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57482204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com