实现onConfigChange()时,在方向更改时保存先前布局的数据

时间:2011-12-21 10:05:24

标签: android

如果用户在edittext字段中放置数据并且方向被更改,则调用onConfigChange方法并填充新布局,使用空的edittext字段,我希望将数据保留在用户输入的edittext字段中以进行方向更改。 任何形式的帮助将受到高度赞赏。

 protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            int orientation_default = getResources().getConfiguration().orientation;
            switch (orientation_default) {
            case Configuration.ORIENTATION_PORTRAIT: {
                setContentView(R.layout.registration);

                break;
            }
            case Configuration.ORIENTATION_LANDSCAPE: {
                setContentView(R.layout.registration_horizontal);
                break;
            }

            }
            findViewById(R.id.backtohomepage).setOnClickListener(this);
            findViewById(R.id.backtologinpage).setOnClickListener(this);
            findViewById(R.id.btn_notregyetsubmit).setOnClickListener(this);
            findViewById(R.id.termsandconditions_id).setOnClickListener(this);
            findViewById(R.id.btn_notregyetsubmit).setOnClickListener(this);
        }

        @Override
        public void onConfigurationChanged(Configuration newConfig) {

            super.onConfigurationChanged(newConfig);
            if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
                setContentView(R.layout.registration);
                findViewById(R.id.termsandconditions_id).setOnClickListener(this);
                findViewById(R.id.backtohomepage).setOnClickListener(this);
                findViewById(R.id.backtologinpage).setOnClickListener(this);
            } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
                setContentView(R.layout.registration_horizontal);
            }

            findViewById(R.id.backtologinpage).setOnClickListener(this);
            findViewById(R.id.btn_notregyetsubmit).setOnClickListener(this);
            findViewById(R.id.termsandconditions_id).setOnClickListener(this);
            findViewById(R.id.btn_notregyetsubmit).setOnClickListener(this);
        };

2 个答案:

答案 0 :(得分:2)

将清单中的活动节点放入android:configChanges =“orientation”。

编辑: 请检查此问题:Activity restart on rotation Android

答案 1 :(得分:1)

<activity
            android:name="com.Dashboard"
             android:configChanges="keyboardHidden|orientation"
            >
        </activity>

将此粘贴​​到您的清单中... http://developer.android.com/guide/topics/resources/runtime-changes.html ..浏览此链接..