首页 > 解决方案 > 如何将不断变化的数字传递给另一个类,以便每次该变量更改时它都会执行命令?

问题描述

我已经实现了一个带有StepCounter传感器的类和一个每步增长 20 的变量。因此,我想为每一步从距起点几毫米的某个点绘制一条线/路径。因此,对于 20 步,这条线比 10 步更远。

我创建了一个实现 a 的类CanvasView,并尝试将变量从 my 传递SensorClass给它,但它不会为每个步骤进一步画线,它只会为变量 dir(0) 的主要初始化绘制一次。

MainActivity班级

if (sensorEvent.sensor.getType() == Sensor.TYPE_STEP_COUNTER)

      if (running) {

            tv_steps.setText(String.valueOf(stepct++));
            dir = dir + 20;

            }



public float getDir(){
    return dir;
}

这是另一个在每次检测到步骤时都应该画线的类

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);     

    Path mPath = new Path();
    mPath.moveTo(startX, startY);

    mPath.lineTo(startX, 1700 - mainActivity.getDir());
    canvas.drawPath(mPath, mPaint);    

}

每次 dir 更改时它应该如何重复?我应该试试drawLine吗?有没有人有另一个完全不同的解决方案然后使用另一个类?

标签: javaandroid

解决方案


推荐阅读