我正在显示用户分数“正确/尝试”(例如 10/100),但我想将其显示为 %(例如 10%)。此外,如果分数 >= 90%,我希望它是绿色的,如果分数在 60% 和 90% 之间,我希望它是蓝色的,否则是红色的。使用我的代码,如果得分为 100%,则得分为绿色,否则为红色。它永远不是蓝色的。(如果我最小化应用程序并返回,有时甚至是黑色,来自 xml 的默认值)。
我的班级以这种方式调用changemyColor函数
....
int holderRight = sharedPrefs.getInt("Right", 0);
int holderTries = sharedPrefs.getInt("Tries", 0);
if ( holderTries != 0) { // to avoid n/0
changemyColor(holderRight,holderTries);
}
这就是功能
public void changemyColor(int right, int tries) {
TextView tvId = (TextView) findViewById(com.example.somma.R.id.score_field);
int pino = 0;
double value = ((right / tries)*100) ;
tvId.setText(getString(R.string.Score_capital) + sharedPrefs.getInt("Right", 0) + getString(R.string.Score_of) + sharedPrefs.getInt("Tries", 0));
if (value >= 80) {
pino = 1;
} else if (value < 80 & value >= 30) {
pino = 2;
} else if (value < 30) {
pino = 3;
}
switch (pino){
case 1:
tvId.setTextColor(Color.GREEN);
break;
case 2:
tvId.setTextColor(Color.BLUE);
break;
case 3:
tvId.setTextColor(Color.RED);
break;
}
}
我还将代码更改为
blabla.setText(value + " " + right + "/" + tries);
并作为输出
"1.0 1/1"
"0.0 1/2"
"0.0 2/3"
"0.0 3/4"
"0.0 4/5"
"0.0 5/6"
"0.0 6/7"
"0.0 7/8"
"0.0 8/9"
"0.0 9/10"
我认为我在分区线上做错了什么,但我无法单独解决。任何帮助,将不胜感激。