单选按钮选择不在onCreate()方法中

时间:2013-10-08 07:31:56

标签: android radio-button oncreate

我有两个radiobutton活动。我正在检查在活动类的onCreate方法中通过在两个if条件中使用isChecked()方法选择了哪个radiobutton。问题是当我通过倾斜设备改变设备的方向时。检查不起作用。在横向方向上,我选择了第二个单选按钮,当我在onCreate中将设备倾斜到纵向模式时,控件将进入第一个if条件。即,

if(rdo1.isChecked()) {
    Toast.makeText(MyActivity.this, "RadioButton1", Toast.LENGTH_LONG).show();
}

实际上它应该转到第二个if条件:

if(rdo2.isChecked()) {
    Toast.makeText(MyActivity.this, "RadioButton2", Toast.LENGTH_LONG).show();
}

是什么原因以及如何纠正它?

4 个答案:

答案 0 :(得分:0)

在清单活动中尝试此代码,

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="adjustPan"

答案 1 :(得分:0)

旋转屏幕时,它将直接转到创建方法

如果您已经@Override java代码中的onConfigurationChanged()函数(在您的Android活动类中)来处理Android屏幕方向更改。然后,您的活动将永远不会重新开始任何屏幕方向更改或者您可以通过以下代码

关闭清单中的方向
    android:configChanges="orientation"
        android:screenOrientation="portrait"

答案 2 :(得分:0)

在你的清单中尝试这个..

 <activity android:name="Your Activity"
             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="adjustPan"/>

因为当方向改变时,当前活动重新开始,这就是它发生的原因..试试上面的内容  代码..

答案 3 :(得分:0)

尝试在java中管理单选按钮的可聚焦属性。 或者只是使两个单选按钮都可聚焦=“假”;