我在我的Android应用程序中使用graphview库来绘制来自传感器的实时数据。我已经有了图表,但我想在文本视图中显示图表中绘制的当前值。
以下是我用于在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元素之外还有其他方法吗?
提前致谢!
答案 0 :(得分:0)
您应该使用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,它应该可以工作。