嗨,我陷入了一个非常奇怪的代码错误。请帮忙!!!! 我的项目有2个活动。 1)第一活动是一个表格,其中包括2个RadioButtonGroups,每个RadioButtonGroups有2个单选按钮,每个单独称为'是'并且没有'。默认为“否”' 2)它有一个提交按钮。 3)点击提交后,这些2个放射性组选择的无线电按钮文本应显示在第二个活动
上我正在尝试使用Bundle对象从2个RadioGroup发送值。但它显示了为两者选择的第二个放射性组的值。
E.g。 Radiogroup 1:选择'是'单选按钮 RadioGroup 2:选择'否'单选按钮
关于第二项活动: 为RadioGroup1检索的值:否 为RadioGroup2检索的值:否
所以我尝试交换代码顺序。它观察到我最后写的无线电频率值代码,该值被传递给两个无线电组的第二个活动。以下是代码:
MainActivity.java
Bundle dataBundle=new Bundle();
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dataBundle.putString(ConfirmActivity.VARIABLE1, "Yes");
dataBundle.putString(ConfirmActivity.VARIABLE2, "No");
i.putExtras(dataBundle);
ConfirmActivity:
public static final String VARIABLE1 = "No";
public static final String VARIABLE2 = "No";
String var1 = extras.getString(VARIABLE1);
String var2 = extras.getString(VARIABLE2);
xml file:
<RadioGroup
android:id="@+id/radio_group1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkedButton="@+id/upasana_no"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Yes"
android:textColor="@android:color/white" />
<RadioButton
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No"
android:textColor="@android:color/white" />
</RadioGroup>
<RadioGroup
android:id="@+id/radio_group2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkedButton="@+id/cd_no"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Yes"
android:textColor="@android:color/white" />
<RadioButton
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No"
android:textColor="@android:color/white" />
</RadioGroup>
答案 0 :(得分:0)
ConfirmActivity.VARIABLE1
和ConfirmActivity.VARIABLE2
中的值相同,因此dataBundle
中的值被覆盖。
在ConfirmActivity.VARIABLE1
和ConfirmActivity.VARIABLE2
例如。
public static final String VARIABLE1 = "value1";
public static final String VARIABLE2 = "value2";
答案 1 :(得分:0)
尝试替换此代码:
public static final String VARIABLE1 = "No";
有了这个:
public static final String VARIABLE1 = "Yes";
注意:在您的代码中,您具有键的覆盖值&#34;否&#34;像第一集&#34;是&#34;然后&#34;不&#34;所以最后你的VARIABLE1和VARIABLE2都有相同的值,即#34; No&#34;。
答案 2 :(得分:0)
在传递捆绑包时,您的两个key
名称都相同,即NO
。所以它正在取代之前的价值。始终确保具有不同的key
名称。否则它将覆盖。
尝试重命名
public static final String VARIABLE1 = "No";
public static final String VARIABLE2 = "No";
到
public static final String VARIABLE1 = "R1";
public static final String VARIABLE2 = "R2";