Java 操作员'<';无法应用于android.widget.textview int
我正在开发一个可以计算体重指数并分析结果的应用程序,因此我在应用程序中添加了一个切换案例,以帮助它根据结果提供建议。我将BMI结果显示在一个文本视图上,我已将其设置为不可见,但我一直得到操作员的信息,您的开关盒正在测试Java 操作员'<';无法应用于android.widget.textview int,java,android,if-statement,Java,Android,If Statement,我正在开发一个可以计算体重指数并分析结果的应用程序,因此我在应用程序中添加了一个切换案例,以帮助它根据结果提供建议。我将BMI结果显示在一个文本视图上,我已将其设置为不可见,但我一直得到操作员的信息,您的开关盒正在测试v.getId()值,因此case ans
v.getId()
值,因此case ans<15
没有意义,原因如下:
v.getId()
,因为这是您切换所依据的值ans
不是int
switch (v.getId()){
case 15:
case 16:
...
case 40:
...
default:
if (v.getId() < 15)
setContentView(R.layout.xml1)
else if (v.getId() > 40)
setContentView(R.layout.xml8);
break;
}
开关(v.getId()){
案例15:
案例16:
...
案例40:
...
违约:
if(v.getId()<15)
setContentView(R.layout.xml1)
else if(v.getId()>40)
setContentView(R.layout.xml8);
打破
}
我不确定在这个switch语句中应该如何使用
ans
的值(如果有的话)。也许您打算打开从ans
解析的一些int
值,而不是打开v.getId()
,如果您想要这样的东西,请尝试在switch
语句中添加default
大小写,然后添加if-else
语句,如下所示:
default:
if(v.getId()<15){
setContentView(R.layout.xml1);
}else if(v.getId()>40){
setContentView(R.layout.xml8);
}
break;
默认值:
if(v.getId()40){
setContentView(R.layout.xml8);
}
打破
如果没有,为什么不使用?对于开关箱
没有比较运算符。如果你还想了解《失败案例》
我添加了你建议的行,错误消失了,谢谢。但是由于我不知道的原因,在计算bmi和获得结果时,没有启动新的xml,即使结果显示在textview上,但仍然没有启动新的xml。例如,当textview中的答案小于15时,假定会启动xml1,但不会启动。任何俱乐部启动你的活动我已经这样做了,甚至用android手机打开了应用程序,但是anser在textview中播放,但是没有新的xml启动为什么这么多xml?为什么不只更新视图?添加了该行,错误就消失了。但我的任何xml都不是根据textview上显示的结果启动的。文本视图显示结果,但不启动新的xml。为什么?
default:
if(v.getId()<15){
setContentView(R.layout.xml1);
}else if(v.getId()>40){
setContentView(R.layout.xml8);
}
break;