Android 如何刷新绘制图形的活动?

Android 如何刷新绘制图形的活动?,android,bar-chart,achartengine,Android,Bar Chart,Achartengine,我是Android新手,我开发了以下代码来显示前10个旅游目的地的条形图。 我的问题是,我需要刷新活动,以便每次刷新时都绘制一个新图表。请张贴任何链接,我可以学习如何刷新它。我在互联网上搜索过,但找不到合适的教程 public class ChartActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sa

我是Android新手,我开发了以下代码来显示前10个旅游目的地的条形图。
我的问题是,我需要刷新活动,以便每次刷新时都绘制一个新图表。请张贴任何链接,我可以学习如何刷新它。我在互联网上搜索过,但找不到合适的教程

public class ChartActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        XYMultipleSeriesRenderer renderer = getBarDemoRenderer();
        setChartSettings(renderer);
        Intent intent = ChartFactory.getBarChartIntent(this, getBarDemoDataset(), renderer, Type.DEFAULT);
        startActivity(intent);
    }

    public void createIntent() 

     {



//    return ChartFactory.getBarChartIntent(this, buildBarDataset(titles, values), renderer,Type.DEFAULT);
    }



    public XYMultipleSeriesRenderer getBarDemoRenderer() {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        renderer.setAxisTitleTextSize(16);
        renderer.setChartTitleTextSize(20);
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setMargins(new int[] {10, 20, 0, 0});
        SimpleSeriesRenderer r = new SimpleSeriesRenderer();
        r.setColor(Color.BLUE);
        renderer.addSeriesRenderer(r);
        r = new SimpleSeriesRenderer();
        r.setColor(Color.GREEN);
        renderer.addSeriesRenderer(r);
        return renderer;
      }

     private XYMultipleSeriesDataset getBarDemoDataset() {
        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        final int nr = 5;
        Random r = new Random();
        int SERIES_NR = 2;
        for (int i = 0; i < SERIES_NR; i++) {
          CategorySeries series = new CategorySeries("Top 10 Destinations " );
          for (int k = 0; k < nr; k++) {
            series.add(800 + r.nextInt() % 100);
          }
          dataset.addSeries(series.toXYSeries());
        }
        return dataset;
      }



    private void setChartSettings(XYMultipleSeriesRenderer renderer) {
        renderer.setChartTitle("Top 10 Destinations Chart");
        renderer.setXTitle("Travel Destinations Around the World");
        renderer.setYTitle("Number of Visitors");
        renderer.setXAxisMin(0);
        renderer.setXAxisMax(6);
        renderer.setYAxisMin(0);
        renderer.setYAxisMax(1000);
      }
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_chart, menu);
        return true;
    }
      }
公共类ChartActivity扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
XYMultipleReseriesRenderer renderer=getBarDemoRenderer();
setChartSettings(渲染器);
Intent Intent=ChartFactory.getBarChartIntent(这是getBarDemoDataset(),呈现程序,类型.DEFAULT);
星触觉(意向);
}
public void createIntent()
{
//返回ChartFactory.getBarChartIntent(这是buildBarDataset(标题、值)、呈现器、类型、默认值);
}
公共XYmultipleReseriesRenderer getBarDemoRenderer(){
XYMultipleReseriesRenderer渲染器=新的XYMultipleReseriesRenderer();
setAxisTitleTextSize(16);
渲染器.setChartTitleTextSize(20);
setLabelsTextSize(15);
渲染器。setLegendTextSize(15);
setMargins(新的int[]{10,20,0,0});
SimpleSriesRender r=新的SimpleSriesRender();
r、 setColor(Color.BLUE);
渲染器.addSeriesRenderer(r);
r=新的SimpleSriesRenderer();
r、 setColor(Color.GREEN);
渲染器.addSeriesRenderer(r);
返回渲染器;
}
私有XYMultipleSeriesDataset getBarDemoDataset(){
XYmultiplesseriesdataset数据集=新的XYmultiplesseriesdataset();
最终int nr=5;
随机r=新随机();
int系列n r=2;
对于(int i=0;i
为了更好地控制图表视图,最好创建一个
图形视图,而不是创建一个
图形活动的意图:

GraphicalView graphicalView = getBarChartView(this, getBarDemoDataset(), renderer, Type.DEFAULT);
将此视图添加到活动的视图继承人权限中。然后,要显示新数据,请首先修改数据集,然后使用以下命令计划重新绘制:

graphicalView.repaint()

您是否尝试重新启动活动?