2015-09-01 24 views
0

我在我的android應用程序中使用graphview庫來繪製來自傳感器的實時數據。我已經有了這個圖表,但是我想在textview中顯示圖表中繪製的當前值。在textview元素中顯示實時數據

這裏是我用於在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

您應該使用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,它應該可以工作。

+0

謝謝,這對我有用! – ThoKun