我有創建在運行時改變圖表的設置和數據
createData(); // is public void, creates data array for maChartView
setGraph(); // is public void, set tittles and font sizes, range of interests
mylayout = (LinearLayout) findViewById(R.id.chart);
mChartView = ChartFactory.getLineChartView(this, mDataset, mRenderer);
,我必須按下時按鈕時的應用程序的曲線圖中的佈局加載(achartengine的2軸圖)開始時,圖表最初表明必須改變,以顯示另一組數據,絲毫不差和ROI(意味着範圍的興趣,在x軸和y軸值的間隔)參與createData()
和setGraph()
方法
public void reDraw(View view){
createData2();
setGraph2();
mChartView.repaint(); //mChartView is public instance of GraphicalView
}
所有實例和變量是公開的。該應用程序在仿真器開始確定,第一個圖顯示很好,但是當我按下按鈕,沒有任何反應:(,我不知道爲什麼。
誰能給我一個洞察?謝謝。
添加更多細節和修改createData2,現在它只是重新計算y值 用戶可以爲二級多項式輸入三個參數,取決於這些值,相應的圖形會改變,用戶輸入參數後,他按一個觸發此按鈕的按鈕
public void reDraw(View view){
List<double[]> values = new ArrayList<double[]>();
//createData2() returns a new set of y-values depending on the user inputs
values = createData2();
setGraph2();
XYMultipleSeriesDataset mDataset = buildDataset(titles, x, values);
GraphicalView mChartView;
mylayout = (LinearLayout) findViewById(R.id.chart);
mChartView = ChartFactory.getLineChartView(this, mDataset, mRenderer);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
mylayout.addView(mChartView, params);
mChartView.repaint();
}
當我測試代碼時,它在第一個我輸入參數,但輸入第二組參數時沒有任何反應。如果我旋轉模擬器並按下繪圖按鈕,新圖形出來!但這不是主意,這個想法是,新按鈕被按下後,新圖形被重新繪製。