基于搜索栏的计算值未显示在文本视图中

Calculated value based on seekbar not displayed in textview

我有两个搜索栏,根据它们的值我正在做一些数学运算并将结果放在文本视图中。当我更改搜索栏的进度时,textview 是 "blinking",我想这是正常的,因为值被删除并插入了一个新值。在模拟器上安装代码,在某些情况下,释放搜索栏后计算值会消失。将代码放在设备上后,该值甚至不再显示。问题是什么? 这是一些代码:

weight = weightSeekBar.getProgress();
height = ((double) heightSeekBar.getProgress()) /100;
double bMI = weight/(height*height);
bMIValueText.setText("BMI value: " + bMI);
Log.d(TAG,"weight= " + weight + " height= " + height + " BMI = " + bMI);

注意:每次更改后都会显示 "BMI value" 文本。此代码在 Seekbar 侦听器的

中实现
 public void onProgressChanged(SeekBar seekBar, int i, boolean b)

方法。

给定的代码量难以理解,但如果您想在运行时更改 ui(视图)的某些部分,则需要使用处理程序。

对于具有较长十进制表示的值,TextView 可能不够宽,导致文本消失。您可以限制小数点后的位数,以使其始终适合(例如,使用 String.format())。