java - 如何将不断变化的数字传递给另一个类,以便每次该变量更改时它都会执行命令?
问题描述
我已经实现了一个带有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
吗?有没有人有另一个完全不同的解决方案然后使用另一个类?
解决方案
推荐阅读
- ssh - 如何在 git bash 中添加 ssh 密钥?
- php - 使用 API 在 Google 工作表中写入的问题
- r - R制作数据框列表
- sql-server - 存储过程传递多个参数,条件结果未按预期工作
- gradle - Gradle:为什么“无法为根项目获取未知属性 'com'”错误?
- angular - 羽毛笔编辑器中的光标位置
- python - 我应该如何对这些元素进行分组,以使整体差异最小化?
- android-layout - Android - 顶部带有按钮的拆分视图
- php - 如何通过关系表列条件查询表
- docker - 如何在 Docker 中安装 Visual Studio 12 BuildTools