gpt4 book ai didi

java - SherlockFragment 内未定义的 onKeyDown

转载 作者:行者123 更新时间:2023-12-01 23:45:19 25 4
gpt4 key购买 nike

使用以下代码时出现以下错误

SherlockFragment 类型的 onKeyDown(int, KeyEvent) 方法未定义

 public boolean onKeyDown(int KeyCode, KeyEvent event) {
if ((KeyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
web.goBack();
return true;
}
return super.onKeyDown(KeyCode, event);
}

最佳答案

我不会让这种事情出现在你的 fragment 中。以下代码在我的 MainActivity 中为我工作,其中有 4 个选项卡,每个选项卡都有自己的 Web View 。

@Override
public void onBackPressed() {
// TODO Auto-generated method stub
int currPage = mPager.getCurrentItem();
WebView wv = null;
switch (currPage) {
case 0:
wv = (WebView) mPager.getChildAt(currPage).findViewById(R.id.webView1);
break;
case 1:
wv = (WebView) mPager.getChildAt(currPage).findViewById(R.id.webView2);
break;
case 2:
wv = (WebView) mPager.getChildAt(currPage).findViewById(R.id.webView3);
break;
case 3:
wv = (WebView) mPager.getChildAt(currPage).findViewById(R.id.webView4);
break;
}

if (wv != null) {
if (wv.canGoBack()) {
wv.goBack();
} else {
super.onBackPressed();
}
} else {
super.onBackPressed();
}
}

编辑:我在第四个选项卡上遇到了麻烦,我的解决方案是将我的 fragment (Tab0.java)中的 webView 设置为静态。然后在我的主要 Activity 中直接引用它。

switch (currPage) {
case 0:
wv = Tab0.webView;
break;
case 1:
wv = Tab1.webView;
break;
case 2:
wv = Tab2.webView;
break;
case 3:
wv = Tab3.webView;
break;
}

关于java - SherlockFragment 内未定义的 onKeyDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161905/

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