круговая диаграмма не отображается в моем приложении, я использую библиотеку achartengine для графика? - PullRequest
0 голосов
/ 19 ноября 2010

Разрабатываю одно приложение в этом, мне нужно отобразить круговую диаграмму, я импортирую Achartengine Lib в мои приложения. Демо-версия ACHARTENGINE отлично работает, он показывает график. Но когда я использую это в своих приложениях, ничего не будет отображаться.мне решить эту проблему.

Это мой код:

Основная активность:

public class HomeScreenPage extends Activity {
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.homescreenpage);

   PieChart achartIntent = new PieChart();
    achartIntent.execute(this);
    }

Класс Piechart:

import org.achartengine.ChartFactory;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;

public class PieChart {
    public Intent execute(Context context) {
        double[] values = new double[] {12, 14, 11, 10,2};
        int[] colors = new int[] {Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN};
        DefaultRenderer renderer = buildCategoryRenderer(colors);
        renderer.setLabelsTextSize(10);
        return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values), renderer);
      }
    protected DefaultRenderer buildCategoryRenderer(int[] colors) {
        DefaultRenderer renderer = new DefaultRenderer();
        for (int color : colors) {
          SimpleSeriesRenderer r = new SimpleSeriesRenderer();
          r.setColor(color);
          renderer.addSeriesRenderer(r);
        }
        return renderer;
      }
    protected CategorySeries buildCategoryDataset(String title, double[] values) {
        CategorySeries series = new CategorySeries(title);
        int k = 0;
        for (double value : values) {
          series.add("Project " + ++k, value);
        }

        return series;
      }
}

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Делали ли вы все это

1: на вашем onCreate ()

Intent achartIntent = new PieChart().execute(this);
    startActivity(achartIntent);

2: добавлено ниже строки в AndroidManifest.xml

<activity android:name="org.achartengine.GraphicalActivity">

3Добавлен achart. *. Jar в качестве справочной библиотеки в путь сборки вашего проекта

0 голосов
/ 19 февраля 2011

Лучше начинать действие после использования функции .execute в main, например: startActivity (new PieChart (). Execute (this));

...