我是编程和Android开发的新手,我正在尝试制作长度单位转换的应用。我使用了两个微调器(从单元到单元),所以我需要检查用户在两个微调器中选择了什么,然后返回值。我的问题是如果声明我已经很长,所以我想知道是否有更好的解决方案。
抱歉我的英语很差,我希望你明白我的意思。
这是长度函数:
public double lengthConversion() {
double res = 0.0;
num = Double.parseDouble(editTextNum.getText().toString());
// first spinner is mm, second spinner is mm
if (posFrom == 0 && posTo == 0) {
res = num;
} else if (posFrom == 0 && posTo == 1) { //second spinner is cm
res = num / 10;
} else if (posFrom == 0 && posTo == 2) { // dm
res = num / 100;
} else if (posFrom == 0 && posTo == 3) { // m
res = num / 1000;
} else if (posFrom == 0 && posTo == 4) { // km
res = num / 1000000;
}
if (posFrom == 1 && posTo == 0) {
....
} else if (posFrom == 1 && posTo == 1) {
....
} else if (posFrom == 1 && posTo == 2) {
....
} else if (posFrom == 1 && posTo == 3) {
....
} else if (posFrom == 1 && posTo == 4) {
....
}
.
.
.
if (posFrom == 4 && posTo == 0) {
...
} else if (posFrom == 4 && posTo == 1) {
...
} else if (posFrom == 4 && posTo == 2) {
...
} else if (posFrom == 4 && posTo == 3) {
...
} else if (posFrom == 4 && posTo == 4) {
...
}
return res;
}
这就是我使用的字符串数组:
<string-array name="array_length">
<item>mm</item>
<item>cm</item>
<item>dm</item>
<item>m</item>
<item>km</item>
</string-array>
答案 0 :(得分:0)
您可以使用基本单元(例如,仪表)进行枚举。
然后你可以将每个其他单位(kms,mms等)作为该枚举的字段。我打算举一个例子,但有一个答案可以做得很好: