Android-如何在运行时将屏幕锁定在片段中

Android-如何在运行时将屏幕锁定在片段中,android,android-fragments,Android,Android Fragments,我试图在片段中加载webview时锁定屏幕方向。 我在一项活动中做过类似的事情,效果很好。然而,当我在片段中使用相同的代码时,我在EclipseIDE中得到警告,说类型MyWebViewFragment的方法setRequestedOrientation未定义 下面是代码的一部分 public class MyWebViewFragment extends Fragment { .............. ............... // lock sc

我试图在片段中加载webview时锁定屏幕方向。 我在一项活动中做过类似的事情,效果很好。然而,当我在片段中使用相同的代码时,我在EclipseIDE中得到警告,说类型MyWebViewFragment的方法setRequestedOrientation未定义

下面是代码的一部分

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方法,但我认为应该有更好的方法


提前感谢

我在这里发现了与解决方案相关的问题:

我的解决方案是使用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);
    }