我是编程新手,我正在学习如何使用Android Studio。
上下文:在屏幕上,用户输入四个值并按下按钮,执行这些值的求和并将结果显示在屏幕上。但现在,我还需要显示“排序”的结果,在本例中,它由"dpaResult“表示。
问题:我需要帮助来知道如何显示下面条件运算的"dpaResult“结果。下面是我完成的代码片段:(我在代码中留下了一些注释)
buttonEnviar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int valorS = Integer.valueOf(editValorS.getText().toString());
int valorT = Integer.valueOf(editValorT.getText().toString());
int valorU = Integer.valueOf(editValorU.getText().toString());
int valorV = Integer.valueOf(editValorV.getText().toString());
//Sums DPA array fields
int dpa = (valorS + valorT + valorU + valorV);
//Sorts the DPA Matrix
if (dpa<=10){
String dpaResult = "Baixo";
Log.i("DPA ", dpaResult);
}else if (dpa>10 && dpa<16){
String dpaResult = "Médio";
Log.i("DPA ", dpaResult);
}else if (dpa>=16){
String dpaResult = "Alto";
Log.i("DPA ", dpaResult);
}
textResultado.setText(String.valueOf("O resultado é: " + dpa));//Here only shows the sum value, I need the value "dpaResult" too !!
}
});注意:如果需要的话,我可以完整地编写代码,包括xml。
我感谢你的帮助
发布于 2019-03-12 16:49:27
将dpaResult和Log.i(..)移出条件if语句,并聚合为textResultado文本值和dpaResult字符串,如下所示:
String dpaResult;
//Sorts the DPA Matrix
if (dpa<=10){
dpaResult = "Baixo";
}else if (dpa>10 && dpa<16){
dpaResult = "Médio";
}else {
dpaResult = "Alto";
}
textResultado.setText(String.valueOf("O resultado é: " + dpa + "; Result: " + dpaResult));发布于 2019-03-12 16:50:15
使dpaResult变量成为全局变量,并使用它来设置结果。之后,使用变量在TextView中设置字符串。
buttonEnviar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int valorS = Integer.valueOf(editValorS.getText().toString());
int valorT = Integer.valueOf(editValorT.getText().toString());
int valorU = Integer.valueOf(editValorU.getText().toString());
int valorV = Integer.valueOf(editValorV.getText().toString());
//Sums DPA array fields
int dpa = (valorS + valorT + valorU + valorV);
String dpaResult = "";
//Sorts the DPA Matrix
if (dpa<=10){
dpaResult = "Baixo";
}else if (dpa>10 && dpa<16){
dpaResult = "Médio";
}else if (dpa>=16){
dpaResult = "Alto";
}
Log.i("DPA ", dpaResult);
textResultado.setText(String.valueOf("O resultado é: " + dpa + " Result " + dpaResult ));
}
});发布于 2019-03-12 17:20:11
理想情况下,您应该将逻辑放在click listener之外,以便可以独立测试。因此,在presenter或view model或外部listener中创建一个函数,并从listener内部调用它。
String getDpaResult(int dpa) {
String dpaResult;
// Sorts the DPA Matrix
if (dpa <= 10) {
dpaResult = "Baixo";
} else if (dpa > 10 && dpa < 16) {
dpaResult = "Médio";
} else { // dpa >= 16
dpaResult = "Alto";
}
return dpaResult;
}
Inside Listener
textResultado.setText(String.valueOf("O resultado é: " + getDpaResult(dpa));//Here only shows the sum value, I need the value "dpaResult" too !!https://stackoverflow.com/questions/55117265
复制相似问题