我有2个活动可以前后互相导航。两者都有一个RadioGroup。问题是第一个活动有RadioGroup id为:1,2,3,4和第二个活动有id为:5,6,7,8。但是当我再次切换回第一个活动时,id变为:9 ,10,11,12。有解决方案吗?
以下是我如何定义我的群体:
<RadioGroup
android:id="@+id/leftRadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="150dp"
android:layout_marginBottom="10dp">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LED OFF"
android:layout_margin="7dp"
android:textSize="10sp"
android:fontFamily="serif"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Position LED"
android:layout_margin="7dp"
android:textSize="10sp"
android:fontFamily="serif"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Force LED"
android:layout_margin="7dp"
android:textSize="10sp"
android:fontFamily="serif"
/>
</RadioGroup>
以下是我在其上设置点击监听器的方法:
leftRadio = (RadioGroup)findViewById(R.id.leftRadioGroup);
leftRadio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
Toast.makeText(getApplicationContext(),""+i,Toast.LENGTH_SHORT).show();
if(i==1) {
leftLed = 0;
}
else if(i==2) {
leftLed = 1;
}
else {
leftLed=3;
}
}
});
答案 0 :(得分:0)
您应在android:id
中添加RadioButton
属性,并在id
方法中检查onCheckedChanged()
。
示例:
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
在RadioGroup.setOncheckedChangedListener
:
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
Toast.makeText(getApplicationContext(),""+i,Toast.LENGTH_SHORT).show();
if(i==R.id.radioButton1) {
leftLed = 0;
}
else if(i==R.id.radioButton2) {
leftLed = 1;
}
else {
leftLed=3;
}
}
您可能希望查看Android RadioGroup Example