在 textview 元素中显示实时数据
Displaying realtime data in a textview element
我在 android 应用程序中使用 graphview 库来绘制来自传感器的实时数据。我已经有了图表,但我还想在文本视图中显示图表中绘制的当前值。
这是我用来在图形视图中绘制数据的代码。在这里,作为示例,我生成并模拟了 100 个随机值。但原理是一样的。并且这些随机值应在图表中添加(appendData())的同时显示。
@Override
protected void onResume() {
super.onResume();
// we're going to simulate real time with thread that append data to the graph
new Thread(new Runnable() {
@Override
public void run() {
// we add 100 new entries
for (int i = 0; i < 100; i++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry();
}
});
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
}).start();
}
private void addEntry() {
series.appendData(new DataPoint(lastX++, RANDOM.nextDouble() * 100d), true, 100);
}
或者除了使用 textview 元素还有其他方法吗?
提前致谢!
您应该使用 xml 属性 "id" 在您的布局中创建一个带有标识符的 TextView。即
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textViewID"
/>
之后,您使用 findview 函数在代码中获取引用。
TextView lastValue = (TextView) findViewById(R.id.textViewID);
有了这个引用后,您可以使用 setText 函数更改它显示的值。
lastValue.setText(RANDOM.nextDouble());
您可以尝试在 appendData 函数之后执行此操作。如果您可以直接在 addEntry 函数中调用静态方法,您可以将视图作为参数传递并从 View 对象调用 findview,它应该可以工作。
我在 android 应用程序中使用 graphview 库来绘制来自传感器的实时数据。我已经有了图表,但我还想在文本视图中显示图表中绘制的当前值。
这是我用来在图形视图中绘制数据的代码。在这里,作为示例,我生成并模拟了 100 个随机值。但原理是一样的。并且这些随机值应在图表中添加(appendData())的同时显示。
@Override
protected void onResume() {
super.onResume();
// we're going to simulate real time with thread that append data to the graph
new Thread(new Runnable() {
@Override
public void run() {
// we add 100 new entries
for (int i = 0; i < 100; i++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry();
}
});
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
}).start();
}
private void addEntry() {
series.appendData(new DataPoint(lastX++, RANDOM.nextDouble() * 100d), true, 100);
}
或者除了使用 textview 元素还有其他方法吗?
提前致谢!
您应该使用 xml 属性 "id" 在您的布局中创建一个带有标识符的 TextView。即
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textViewID"
/>
之后,您使用 findview 函数在代码中获取引用。
TextView lastValue = (TextView) findViewById(R.id.textViewID);
有了这个引用后,您可以使用 setText 函数更改它显示的值。
lastValue.setText(RANDOM.nextDouble());
您可以尝试在 appendData 函数之后执行此操作。如果您可以直接在 addEntry 函数中调用静态方法,您可以将视图作为参数传递并从 View 对象调用 findview,它应该可以工作。