Java 为什么我的方向改变没有引起注意?

Java 为什么我的方向改变没有引起注意?,java,android-manifest,android-orientation,onconfigurationchanged,android-configchanges,Java,Android Manifest,Android Orientation,Onconfigurationchanged,Android Configchanges,根据接受的答案,我将此代码添加到活动中,作为更改活动指定布局的第一步: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Checks the orientation of the screen if (newConfig.orientation == Configuration.ORIEN

根据接受的答案,我将此代码添加到活动中,作为更改活动指定布局的第一步:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    // Checks the orientation of the screen
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
        setContentView(R.layout.activity_settings_landscape);
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
        setContentView(R.layout.activity_settings);
    }
}
…并修改了AndroidManifest.xml中的活动元素。e、 例如,将其更改为:

<activity
    android:name="hhs.app.SettingsActivity"
    android:label="@string/title_activity_settings" >
</activity>

…但是我还是没有反应,没有人在这里举杯,也没有OnConfiguration Changed事件。

你试过了吗:android:configChanges=orientation | Screen Size | Keyboard Hiddeni现在试过了,但没什么区别。你用的是旧的emulator吗?请检查:我怀疑这是一个旧的仿真器,因为我在不久前安装了Droido Android Studio,但是我怎么知道仿真器是什么版本呢?@Heyyou-我可能没有,否则我会更新帖子,说明我是如何安装的。但这已经是一年多以前的事了,从那以后我就没有在Java/Android上工作过,我真的记不起来了。
<activity
    android:name="hhs.app.SettingsActivity"
    android:configChanges="orientation|keyboardHidden"
    android:label="@string/title_activity_settings" >
</activity>
public class SettingsActivity extends ActionBarActivity {

    private OrientationEventListener mOrientationListener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);

        . . .

        mOrientationListener = new OrientationEventListener(getApplicationContext()) {
            @Override
            public void onOrientationChanged(int orientation) {
                Toast tostadaOrient = Toast.makeText(SettingsActivity.this, 
orientation, Toast.LENGTH_SHORT);
                tostadaOrient.setGravity(Gravity.CENTER, 0, 0);
                tostadaOrient.show();
            }
        };
        mOrientationListener.enable();
    }