gpt4 book ai didi

java - OnSensorChanged() 不改变循环中的值

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:34 26 4
gpt4 key购买 nike

我试图在 1 秒内获得 100 个加速度计读数,但它不是 100 个不同的读数,而是 100 次给出 1 个相同的读数。

当我按下应用程序中的按钮时,我尝试显示这 100 个加速度计读数

我的 MainActivity 有一个名为的变量

float ax;

这是连续存储(x 轴)加速度计读数的位置。

我的 OnCreate() 方法中有这个按钮代码

 button = (Button)findViewById(R.id.startbutton); //inits button
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BuildTable();
}
});

触发 BuildTable() 函数(在应用程序本身上显示输出)

我的 BuildTable() 有这样的东西

 public void BuildTable()
{

TableRow trow = new TableRow(this);
TextView text = new TextView(this);

int count = 0;

while (count < 100)
{

if(System.currentTimeMillis() - lasttime >= 10)
{

lasttime = System.currentTimeMillis();
text = new TextView(this);
Log.d("MyApp","ax is: "+ax);
text.setText(""+ax);
trow = new TableRow(this);
trow.addView(text);
table.addView(trow,count);
count++;

}

}
}

OnSensorChanged() 函数如下所示

@Override
public void onSensorChanged(SensorEvent event) {
ax = event.values[0];

}

它只更新 axe。

按钮如何点击暂停ax的更新?我该如何解决这个问题?

干杯

最佳答案

尝试使用 onSensorChanged 函数过滤结果

@Override
public void onSensorChanged(SensorEvent event)
{
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
{
ax = event.values[0];
}
}

关于java - OnSensorChanged() 不改变循环中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41128776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com