如何将一个不断变化的数字传递给另一个类,以便每次变量更改时都执行一个命令?

时间:2019-01-25 21:33:39

标签: java android

我实现了一个带有StepCounter传感器和一个变量的类,该变量每步增长20。因此,对于每个步骤,我都希望从某个起点(离起点几毫米)处绘制一条线/路径。因此,对于20步来说,这条线比10步要远。

我创建了一个实现CanvasView的类,并尝试将变量从我的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);    

}

每次目录更改时如何重复?我应该尝试drawLine吗?有人会使用另一个类来提供另一个完全不同的解决方案吗?

0 个答案:

没有答案