【问题标题】:NoClassDefFoundError: org.achartengine.model.CategorySeries, why I can't draw a PieChart?NoClassDefFoundError: org.achartengine.model.CategorySeries,为什么我不能画饼图?
【发布时间】:2014-03-18 11:37:57
【问题描述】:

我需要一些帮助。我有一个 PieChartBuilder chart 应该使用一些 .jar libraries 创建一个饼图。
PieChartBuilder extends Activity 但是在启动 PieChartBuilder 时出现错误:NoClassDefFoundError: org.achartengine.model.CategorySeries.

这是 PieChartBuilder 类:

public class PieChartBuilder extends Activity {
 /** Colors to be used for the pie slices. */

private static String[] VALORI = new String[]{"10","20","30","20","10","10"};
private static int[] COLORS = new int[] { Color.GREEN, Color.BLUE, Color.MAGENTA,     Color.CYAN };
/** The main series that will include all the data. */ // I guess the app crashes here...
private CategorySeries mSeries = new CategorySeries("");
/** The main renderer for the main dataset. */
private DefaultRenderer mRenderer = new DefaultRenderer();

/** The chart view that displays the data. */
private GraphicalView mChartView;

@Override
protected void onRestoreInstanceState(Bundle savedState) {
  super.onRestoreInstanceState(savedState);
  mSeries = (CategorySeries) savedState.getSerializable("current_series");
  mRenderer = (DefaultRenderer) savedState.getSerializable("current_renderer");
}

@Override
protected void onSaveInstanceState(Bundle outState) {
  super.onSaveInstanceState(outState);
  outState.putSerializable("current_series", mSeries);
  outState.putSerializable("current_renderer", mRenderer);
}

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

  mRenderer.setZoomButtonsVisible(true);
  mRenderer.setStartAngle(180);
  mRenderer.setDisplayValues(true);
 initChart();
} 


@Override
protected void onResume() {
  super.onResume();
  if (mChartView == null) {
    LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
    mChartView = ChartFactory.getPieChartView(this, mSeries, mRenderer);
    mRenderer.setClickEnabled(true);
    mChartView.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
          SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
          if (seriesSelection == null) {
          Toast.makeText(PieChartBuilder.this, "No chart element selected", Toast.LENGTH_SHORT)
            .show();
        } else {
        for (int i = 0; i < mSeries.getItemCount(); i++) {
          mRenderer.getSeriesRendererAt(i).setHighlighted(i == seriesSelection.getPointIndex());
        }
        mChartView.repaint();
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //setContentView(R.layout.activity_dialog);
        Toast.makeText(
            PieChartBuilder.this,
            "Chart data point index " + seriesSelection.getPointIndex() + " selected"
                + " point value=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
      }
    }
  });
  layout.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT,
      LayoutParams.FILL_PARENT));
} else {
  mChartView.repaint();
 }
}

 private void initChart(){
      int i=0;
      double value=0;
      for (String doubleString:VALORI){

          try {
           value = Double.parseDouble(doubleString);
          } catch (NumberFormatException e) {
     //            return;
          }
          mSeries.add("Series " + (mSeries.getItemCount() + 1), value);
          SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();
          renderer.setColor(COLORS[i%4]);
          i++;
          mRenderer.addSeriesRenderer(renderer);
        }

      }
  }

为什么我会收到该错误?为什么我的应用会因 NoClassDefFoundError 而崩溃?

我该怎么办?

【问题讨论】:

标签: java android achartengine pie-chart


【解决方案1】:

右击你的项目 -> 属性 -> Android

在该窗口中添加库,然后 jar 文件将自动导入到项目设置中。如果这样做不会让您看到库中的类,只需将其添加到构建路径。

希望这对你有用。

//编辑

检查屏幕截图,您可能需要在这样做之后将项目导入 eclipse,问候

【讨论】:

  • 对不起,你说的我已经试过了,但是在 Android 选项卡中你不能添加任何新的库...
猜你喜欢
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多