【发布时间】:2017-01-01 08:37:13
【问题描述】:
基本上,我有一个由片段组成的导航栏活动,并且我正在制作一个单位转换器。我已经清楚了如何做到这一点的概念,只有一个简单的问题。由于我使用的是单选按钮,因此每次更改要转换为相同单位转换的值时,我都需要单击不同的单选按钮,然后单击返回相同的单选按钮
final RadioGroup radioGroup = (RadioGroup) myView.findViewById(R.id.radio);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, final int checkedId) {
// checkedId is the RadioButton selected
switch (checkedId) {
case R.id.radioGram:
final TextView textView = (TextView) myView.findViewById(R.id.EditTextFrom);
textView.setText("Gram");
final RadioGroup radioGroup = (RadioGroup) myView.findViewById(R.id.radio2);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId2) {
switch (checkedId2) {
case R.id.radioGram2:
TextView textView = (TextView) myView.findViewById(R.id.EditTextTo);
textView.setText("Gram");
EditText calc = (EditText) myView.findViewById(R.id.From);
String gramholder = calc.getText().toString();
gram = Integer.parseInt(gramholder) * 1;
EditText editText = (EditText) myView.findViewById(R.id.To);
editText.setText(String.valueOf(gram));
break;
case R.id.radioKilogram2:
TextView textView2 = (TextView) myView.findViewById(R.id.EditTextTo);
textView2.setText("Kilogram");
EditText calc2 = (EditText) myView.findViewById(R.id.From);
String gramholder2 = calc2.getText().toString();
gram2 = Integer.parseInt(gramholder2) * 0.001;
EditText editText2 = (EditText) myView.findViewById(R.id.To);
editText2.setText(String.valueOf(gram2));
break;
}
}
});
例如,如果我想将 500 克转换为千克,我只需单击单选按钮克(在第一个单选组中)和千克(在第二个单选组中),但是如果我想转换 520 克到公斤,我需要点击克,然后在第二个无线电组中回到公斤
【问题讨论】: