java - 方法不会使用 onBackPressed() 覆盖其超类 Android Fragment 中的方法
问题描述
所以我有一个非常简单的 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”,但它实际上是一个片段。
因此,您必须在 Activity 中覆盖该方法,然后将其与您的 Fragment 链接起来。
推荐阅读
- typescript - 用玩笑模拟泛型函数
- angular - 如何在角度有条件地使选择下拉列表只读或禁用?
- java - 升级到 Spring Boot 2.1.3 后 Spring Data 查询性能问题
- bash - 在其中使用带有字母“a”的字符集会导致某些目录中出现意外行为
- python - Reportlab中Matplotlib上不完整的刻度标签
- sql - 如何在 include 中插入 Distinct 和 Order?
- javascript - 即使有一个单例类管理购物车状态,购物车中的元素总数也不会刷新
- javascript - Highchart 中的线条着色需要很长时间
- swift - 如何在 macOS 中无错误地访问联系人
- r - 因素分析未分配给对象