我有两个搜索栏,根据它们的价值我正在做一些数学并将结果放在textview中。当我改变搜索栏的进度时,textview是“闪烁”,这是正常的,我想,因为删除了值并插入了新的。在模拟器上安装代码,在某些情况下,释放搜索条后计算值会消失。将代码放在设备上后,该值甚至不再显示。问题是什么? 这是一些代码:
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值”文本。此代码在Seekbar监听器的
中实现 public void onProgressChanged(SeekBar seekBar, int i, boolean b)
方法
答案 0 :(得分:1)
对于具有较长十进制表示的值,TextView可能不够宽,导致文本消失。您可以限制小数点后的位数,使其始终适合(例如,使用id
)。
答案 1 :(得分:-1)
很难理解给定的代码量,但是如果你想在运行时更改ui(view)的某些部分,则需要使用Handler。