Java 安卓:Don';t旋转活动屏幕(无清单)

Java 安卓:Don';t旋转活动屏幕(无清单),java,android,android-studio,screen,Java,Android,Android Studio,Screen,我知道如果我不想改变屏幕的旋转,我必须使用android:screenOrientation=“纵向/横向”,但我会在清单中这样做。我想在java类中做同样的事情。我该怎么做 这是我的密码 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { switch (getArg

我知道如果我不想改变屏幕的旋转,我必须使用android:screenOrientation=“纵向/横向”,但我会在清单中这样做。我想在java类中做同样的事情。我该怎么做

这是我的密码

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState)
    {
        switch (getArguments().getInt(ARG_SECTION_NUMBER))
        {
            case 1:
                View rootView = inflater.inflate(R.layout.fragment_cubo, container, false);
                return rootView;

            case 2:
                View rootView2 = inflater.inflate(R.layout.fragment_cubo2, container, false);
                return rootView2;

            case 3:
                View rootView3 = inflater.inflate(R.layout.fragment_cubo3, container, false);
                return rootView3;

            case 4:
                View rootView4 = inflater.inflate(R.layout.fragment_cubo4, container, false);
                return rootView4;

            default:
                View rootView0 = inflater.inflate(R.layout.fragment_cubo, container, false);
                return rootView0;
        }
    }
我只想在案例2和案例3中更改屏幕的位置,但是我想不起方法
setRequestedOrientation(ActivityInfo.screen\u ORIENTATION\u PORT‌​雷特)

因为无法从静态上下文引用它(方法onCreateView位于静态类中)

我怎样才能做到这一点?

类似这样的事情:

 activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


关于这个主题的博文很好::-)


你不应该真正地更新问题,而应该提出新的问题

您需要重写具有活动参数的回调方法,或将该参数另存为字段。因此,您可能必须运行switch语句两次

@Override
public void onAttach(Activity activity) {
    // your switch statement  
   activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

您可以在此处阅读更多信息:

您可以通过下面的函数完成此操作

 public void changeOrientation() {

    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    } else {
        getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
    }
}

尝试类似setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u PORTRAIT)的方法@NongthonbamTonthoi更新我的问题我什么时候必须调用CreateView的方法?我正在使用选项卡式活动。我必须通过哪些参数?不,我必须通过什么LayoutFlater?哦,对不起,你的意思是
onCreateView
是片段的重写方法。更新了我的答案当我想起超类
super.onAttach(Context Context)
的方法时,我必须传递什么上下文?传递
activity
该方法旋转所有片段,而不仅仅是第二个和第三个。是的,您的“getActivity()”对我帮助很大