2013-04-09 3 views
1

제발 도와주세요, GraphView 라이브러리 (http://www.jjoe64.com/p/graphview-library.html)를 사용합니다. 하지만 이전 데이터를 다시 설정하는 방법을 이해하지 못합니다.GraphView 및 resetData

방법 redrawAll()이 작동하지 않습니다.

public class MainActivity extends Activity implements OnClickListener{ 
    private final static int DIALOG_ID=0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button btnDialog=(Button)findViewById(R.id.btnDialog); 
    btnDialog.setOnClickListener(this); 

} 


    @Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch(v.getId()){ 
     case R.id.btnDialog: 
      createGraph(); 
    break; 

    } 

} 

//graph create method  
void createGraph(){ 

    // draw sin curve 
    int num = 100; 
    GraphViewData[] data = new GraphViewData[num]; 
    GraphView graphView; 

    double v=0; 
    for (int i=0; i<num; i++) { 
     v += 0.50; 
     data[i] = new GraphViewData(i, Math.random()*v); 
     } 

    // graph with dynamically genereated horizontal and vertical labels 
    graphView = new LineGraphView(
      getBaseContext() 
      , "myGraph" 
    ); 




    graphView.redrawAll(); 

    ((LineGraphView) graphView).setDrawBackground(true); 

    // add data 
    graphView.addSeries(new GraphViewSeries(data)); 
    // set view port, start=2, size=10 
    graphView.setViewPort(2, 40); 
    graphView.setScalable(true); 

    LinearLayout layout = (LinearLayout)findViewById(R.id.lvGraphView); 
    layout.addView(graphView); 

} 


} 

답변

0

하나의 방법은 graphview보기를 제거하고 완전히 다시 작성하는 것입니다

IT는 내 코드입니다.

다른 방법은 실시간 기능을 사용하는 것입니다. github에서 바로 최신 버전의 graphview를 사용해야합니다. resetData 또는 appendData을 사용하여 시리즈의 데이터를 변경할 수 있습니다. github에서 GraphView-Demo 프로젝트를 살펴보십시오.

exampleSeries1.resetData(new GraphViewData[] { 
     new GraphViewData(1, getRandom()) 
     , new GraphViewData(2, getRandom()) 
     , new GraphViewData(2.5, getRandom()) // another frequency 
     , new GraphViewData(3, getRandom()) 
     , new GraphViewData(4, getRandom()) 
     , new GraphViewData(5, getRandom()) 
}); 
3

리셋하면 모든 그래프를 지운 다음 다시 새로운 것을 그릴 것입니까? 그런 다음 graphView.removeAllSeries();을 사용할 수 있습니다.