Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android上处理屏幕旋转_Java_Android_Android Activity_Listactivity_Screen Rotation - Fatal编程技术网

Java 如何在Android上处理屏幕旋转

Java 如何在Android上处理屏幕旋转,java,android,android-activity,listactivity,screen-rotation,Java,Android,Android Activity,Listactivity,Screen Rotation,我有一个ListActivity,我想在手机的方向为纵向时显示,还有一个普通活动,我想在用户将手机旋转到横向模式时显示 一些代码: public class ListActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (this.getR

我有一个ListActivity,我想在手机的方向为纵向时显示,还有一个普通活动,我想在用户将手机旋转到横向模式时显示

一些代码:

  public class ListActivity extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (this.getResources (). getConfiguration (). orientation == Configuration.ORIENTATION_PORTRAIT) {
            //Do stuff
        }else if (this.getResources (). getConfiguration (). orientation == Configuration.ORIENTATION_LANDSCAPE) {
            Intent myIntent = new Intent(getApplicationContext(), AnotherActivity.class);
            startActivity(myIntent);
        }
    }
}

这种方法可行,但也存在一些问题。还有更正确的方法吗?这种方法的问题是,当你旋转手机并按下后退按钮时,屏幕会变黑,因为手机没有旋转。因此,我应该以另一种方式执行旋转,还是以某种方式修改后退按钮,以便用户无法返回到上一个活动?

这是一种正常的方式。但是等待的时间很长——5秒

还有另一种方法:

将方向更改注册为配置更改

A

并将其作为配置更改进行处理

B


你好你已经得到了答案,所以,请选择它们或其中一些或其中一个作为答案。(对不起,你的评论不是我想要的,但我设法用另一种方式解决了。你说的是对的,所以我把它标记为答案。
activity android:name=".SomeActivity" 
android:label="@string/app_name"
android:configChanges="orientation"
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    setContentView(R.layout.main);

    SetupActivity();
}