我正在尝试在片段中加载webview时锁定屏幕方向。 我在一项活动中做了类似的事情并且运作良好。然而,当我在一个片段中使用相同的代码时,我在eclipse IDE中得到了一个警告说方法setRequestedOrientation未定义类型MyWebViewFragment
这是代码的一部分
public class MyWebViewFragment extends Fragment {
..............
...............
// lock screen before proceeding
int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
............
@Override
public void onPageFinished(WebView view, String url) {
// unlock screen
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
eclipse建议的一个修复是创建一个setRequestedOrientation方法,但我相信应该有更好的方法。
提前致谢
答案 0 :(得分:0)
我在这里找到了解决方案的相关问题:Check network connection in fragment
我的解决方案是使用getActivity()
来获取活动现在更新的代码可以使用:
public class MyWebViewFragment extends Fragment {
..............
...............
// lock screen before proceeding
int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
else {
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
............
@Override
public void onPageFinished(WebView view, String url) {
// unlock screen
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}