如何添加两个单选按钮的值?
how to add the value of two radio button?
我有两个 radioGroups,每个都包含不确定数量的 radioButton 我想在 radioGroup 1 中添加 radioButton selected 的值,在radioGroup 2 并在 toast 中显示结果。我尝试了下面的代码,但它似乎不起作用
请问我该怎么做?
我的尝试:
RadioButton lamp1;
RadioButton tele1;
RadioGroup group, group2;
Button button;
int result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_type_installation);
addListenerOnButton();
}
public void addListenerOnButton() {
group = findViewById(R.id.group);
group2 = findViewById(R.id.group2);
ampoule1 = findViewById(R.id.lamp1);
tele1 = findViewById(R.id.tele1);
button = findViewById(R.id.calcul);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int selectedId = group.getCheckedRadioButtonId();
int selectedId1 = group2.getCheckedRadioButtonId();
ampoule1 = findViewById(selectedId);
tele1 = findViewById(selectedId1);
result = selectedId+selectedId1;
Toast.makeText(Type_Installation.this, "your consommation is"
+result+"W", Toast.LENGTH_SHORT).show();
}
});
}
XML代码:
<TextView
android:id="@+id/ampoule"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/appBar"
android:padding="10dp"
android:layout_marginStart="40dp"
android:layout_marginLeft="40dp"
android:text="Ampoule"
android:textSize="20sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/ampoule"
android:background="@color/material_blue_grey_700"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"/>
<RadioGroup
android:id="@+id/group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ampoule"
android:layout_marginStart="30dp"
android:layout_marginLeft="30dp">
<RadioButton
android:id="@+id/lamp1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="40 W"
android:checked="true"/>
<RadioButton
android:id="@+id/lamp2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="60 W"
android:textColor="@color/material_blue_grey_700"/>
<RadioButton
android:id="@+id/lamp3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="75 W"
android:textColor="@color/material_blue_grey_700"/>
<RadioButton
android:id="@+id/ampoule4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="100 W"
android:textColor="@color/material_blue_grey_700"/>
</RadioGroup>
<TextView
android:id="@+id/tele"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/group"
android:padding="10dp"
android:layout_marginStart="40dp"
android:layout_marginLeft="40dp"
android:text="Televiseur"
android:textSize="20sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/tele"
android:background="@color/material_blue_grey_700"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"/>
<RadioGroup
android:id="@+id/group2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tele"
android:layout_marginStart="30dp"
android:layout_marginLeft="30dp">
<RadioButton
android:id="@+id/tele1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="100 W"
android:checked="true"/>
<RadioButton
android:id="@+id/tele2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="200 W"
android:textColor="@color/material_blue_grey_700"/>
<RadioButton
android:id="@+id/tele3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="300 W"
android:textColor="@color/material_blue_grey_700"/>
</RadioGroup>
<Button
android:id="@+id/calcul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="20dp"
android:background="@drawable/material_button1"
android:text="calculer"/>
你可以先从radio groups中获取selected radio button
的id,获取id后,你可以获取selected radio button
的text,然后你就可以添加它们或做任何事情你要。
下面的代码假定您的 radio buttons
具有整数值作为文本 i.e 5,6,7
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId1 = group.getCheckedRadioButtonId();
int selectedId2 = group2.getCheckedRadioButtonId();
// find the radiobutton by returned id
RadioButton radioButton1 = (RadioButton) findViewById(selectedId1);
RadioButton radioButton2 = (RadioButton) findViewById(selectedId2);
//Assuming text on radio buttons are integer values like 5.6.7 etc
int result = Integer.parseInt(radioButton1.getText())+Integer.parseInt(radioButton2 .getText());
Toast.makeText(MyAndroidAppActivity.this,
"Resulkt"+result, Toast.LENGTH_SHORT).show();
}
});
希望对您有所帮助。
使用了这些代码行
lamp1 = findViewById(selectedId);
tele1 = findViewById(selectedId1);
result = Integer.valueOf(lamp1.getText().toString())+Integer.valueOf(tele1.getText().toString());
而不是这个
ampoule1 = findViewById(selectedId);
tele1 = findViewById(selectedId1);
result = selectedId+selectedId1;
我有两个 radioGroups,每个都包含不确定数量的 radioButton 我想在 radioGroup 1 中添加 radioButton selected 的值,在radioGroup 2 并在 toast 中显示结果。我尝试了下面的代码,但它似乎不起作用
请问我该怎么做?
我的尝试:
RadioButton lamp1;
RadioButton tele1;
RadioGroup group, group2;
Button button;
int result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_type_installation);
addListenerOnButton();
}
public void addListenerOnButton() {
group = findViewById(R.id.group);
group2 = findViewById(R.id.group2);
ampoule1 = findViewById(R.id.lamp1);
tele1 = findViewById(R.id.tele1);
button = findViewById(R.id.calcul);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int selectedId = group.getCheckedRadioButtonId();
int selectedId1 = group2.getCheckedRadioButtonId();
ampoule1 = findViewById(selectedId);
tele1 = findViewById(selectedId1);
result = selectedId+selectedId1;
Toast.makeText(Type_Installation.this, "your consommation is"
+result+"W", Toast.LENGTH_SHORT).show();
}
});
}
XML代码:
<TextView
android:id="@+id/ampoule"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/appBar"
android:padding="10dp"
android:layout_marginStart="40dp"
android:layout_marginLeft="40dp"
android:text="Ampoule"
android:textSize="20sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/ampoule"
android:background="@color/material_blue_grey_700"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"/>
<RadioGroup
android:id="@+id/group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ampoule"
android:layout_marginStart="30dp"
android:layout_marginLeft="30dp">
<RadioButton
android:id="@+id/lamp1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="40 W"
android:checked="true"/>
<RadioButton
android:id="@+id/lamp2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="60 W"
android:textColor="@color/material_blue_grey_700"/>
<RadioButton
android:id="@+id/lamp3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="75 W"
android:textColor="@color/material_blue_grey_700"/>
<RadioButton
android:id="@+id/ampoule4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="100 W"
android:textColor="@color/material_blue_grey_700"/>
</RadioGroup>
<TextView
android:id="@+id/tele"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/group"
android:padding="10dp"
android:layout_marginStart="40dp"
android:layout_marginLeft="40dp"
android:text="Televiseur"
android:textSize="20sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/tele"
android:background="@color/material_blue_grey_700"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"/>
<RadioGroup
android:id="@+id/group2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tele"
android:layout_marginStart="30dp"
android:layout_marginLeft="30dp">
<RadioButton
android:id="@+id/tele1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="100 W"
android:checked="true"/>
<RadioButton
android:id="@+id/tele2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="200 W"
android:textColor="@color/material_blue_grey_700"/>
<RadioButton
android:id="@+id/tele3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="300 W"
android:textColor="@color/material_blue_grey_700"/>
</RadioGroup>
<Button
android:id="@+id/calcul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="20dp"
android:background="@drawable/material_button1"
android:text="calculer"/>
你可以先从radio groups中获取selected radio button
的id,获取id后,你可以获取selected radio button
的text,然后你就可以添加它们或做任何事情你要。
下面的代码假定您的 radio buttons
具有整数值作为文本 i.e 5,6,7
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId1 = group.getCheckedRadioButtonId();
int selectedId2 = group2.getCheckedRadioButtonId();
// find the radiobutton by returned id
RadioButton radioButton1 = (RadioButton) findViewById(selectedId1);
RadioButton radioButton2 = (RadioButton) findViewById(selectedId2);
//Assuming text on radio buttons are integer values like 5.6.7 etc
int result = Integer.parseInt(radioButton1.getText())+Integer.parseInt(radioButton2 .getText());
Toast.makeText(MyAndroidAppActivity.this,
"Resulkt"+result, Toast.LENGTH_SHORT).show();
}
});
希望对您有所帮助。
使用了这些代码行
lamp1 = findViewById(selectedId);
tele1 = findViewById(selectedId1);
result = Integer.valueOf(lamp1.getText().toString())+Integer.valueOf(tele1.getText().toString());
而不是这个
ampoule1 = findViewById(selectedId);
tele1 = findViewById(selectedId1);
result = selectedId+selectedId1;