Android 我在一项活动中的4个片段中有4个不同的图表,但它不起作用?

Android 我在一项活动中的4个片段中有4个不同的图表,但它不起作用?,android,android-fragments,charts,Android,Android Fragments,Charts,我想将一个活动中的4个图表显示为4个片段。我使用achartengine绘制折线图、条形图、饼图、油炸圈饼图;我有每个图表的图表类和片段类,还有一个ChartItemEntity类,我的主要类是ChartsFragmentActivity, 我不知道哪里是我的错,有人能帮忙吗 我的图表碎片活动类: public class ChartsFragmentActivity extends Activity { /** Called when the activity is first create

我想将一个活动中的4个图表显示为4个片段。我使用achartengine绘制折线图、条形图、饼图、油炸圈饼图;我有每个图表的图表类和片段类,还有一个ChartItemEntity类,我的主要类是ChartsFragmentActivity, 我不知道哪里是我的错,有人能帮忙吗

我的图表碎片活动类:

public class ChartsFragmentActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}


public LineFragment LineChart_Show(View view) {
    LineFragment _containerLineChart = (LineFragment) getFragmentManager().findFragmentById(R.id.lfLineFragment);
    return (_containerLineChart);

}


public BarFragment BarChart_Show(View view) {
    BarFragment _containerBarChart = (BarFragment) getFragmentManager().findFragmentById(R.id.bfBarFragment);
    return (_containerBarChart);
}


public PieFragment PieChart_Show(View view) {
    PieFragment _containerPieChart = (PieFragment) getFragmentManager().findFragmentById(R.id.pfPieFragment);
    return (_containerPieChart);
}

      public DoughnutFragment dounutChart_Show(View view) {
          DoughnutFragment continer = (DoughnutFragment) getFragmentManager().findFragmentById(R.id.dfDonutFragment);
          return (continer);
      }
}
我的ChartItemEntity

public class ChartItemEntity {

public String Caption;
public double Value;
public int    Color;
}
折线图:

public class LineChart extends Activity {

private GraphicalView            mChart;
private XYMultipleSeriesDataset  mDataset  = new XYMultipleSeriesDataset();
private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
private XYSeries                 mCurrentSeries;
private XYSeriesRenderer         mCurrentRenderer;


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.line_continer);

    List<ChartItemEntity> items = new ArrayList<ChartItemEntity>();
    items.add(GetChartItemEntity("Amir", 20));
    items.add(GetChartItemEntity("Doctor", 15));
    items.add(GetChartItemEntity("Hassan", 18));
    items.add(GetChartItemEntity("Zahra", 7));

    ShowData(items);
}


public ChartItemEntity GetChartItemEntity(String caption, double value)
{
    ChartItemEntity item = new ChartItemEntity();
    item.Caption = caption;
    item.Value = value;
    return item;
}


public void ShowData(List<ChartItemEntity> items)
{

    mCurrentSeries = new XYSeries("Sample Data");
    mDataset.addSeries(mCurrentSeries);
    mCurrentRenderer = new XYSeriesRenderer();
    mRenderer.addSeriesRenderer(mCurrentRenderer);
    mRenderer.setInScroll(true);
    mRenderer.setXAxisMin(0);
    mRenderer.setXAxisMax(items.size());
    mRenderer.setBarSpacing(0.2);
    mRenderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
    mRenderer.setAxesColor(Color.WHITE);
    mRenderer.setLabelsColor(Color.BLACK);
    mRenderer.setPanEnabled(true, true);
    mRenderer.setYLabelsAlign(Align.CENTER);

    mCurrentRenderer.setFillPoints(false);
    mCurrentRenderer.setColor(Color.GREEN);

    for (int i = 0; i < items.size(); i++)
    {
        ChartItemEntity item = items.get(i);
        mRenderer.addXTextLabel(i, item.Caption);

        mCurrentSeries.add(i, item.Value);
    }

    if (mChart != null) {
        mChart.repaint();
    }

}


@Override
protected void onResume() {
    super.onResume();
    if (mChart == null) {
        LinearLayout layout = (LinearLayout) findViewById(R.id.line_chart);
        mChart = ChartFactory.getLineChartView(this, mDataset, mRenderer);

        mRenderer.setClickEnabled(true);
        mRenderer.setSelectableBuffer(10);

        mChart.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                SeriesSelection seriesSelection = mChart.getCurrentSeriesAndPoint();

                if (seriesSelection == null) {
                    Toast.makeText(LineChart.this, "No chart element was clicked", Toast.LENGTH_SHORT).show();
                }
                else {
                    Toast.makeText(LineChart.this, "Chart element data point index " + (seriesSelection.getPointIndex() + 1) + " was clicked" + " point value=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
                }
            }
        });

        mChart.setOnLongClickListener(new View.OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                SeriesSelection seriesSelection = mChart.getCurrentSeriesAndPoint();
                if (seriesSelection == null) {
                    Toast.makeText(LineChart.this, "No chart element was long pressed", Toast.LENGTH_SHORT);
                    return false;
                }
                else {
                    Toast.makeText(LineChart.this, "Chart element data point index " + seriesSelection.getPointIndex() + " was long pressed", Toast.LENGTH_SHORT);
                    return true;
                }
            }
        });
        layout.addView(mChart, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    }
    else {
        mChart.repaint();
    }
}

}

嘿,欢迎来到苏。您需要重新表述您的标题,因为“不起作用”将关闭此问题;这条线没有任何作用,您不需要尝试捕捉布局膨胀。我猜您正在得到nullpointer异常,但由于一般的try-catch,您并没有在日志猫中看到错误警告
@SuppressWarnings("unused")
private ViewGroup      _containerLineChart;
@SuppressWarnings("unused")
private LayoutInflater _inflaterLineChart;


@Override
public View onCreateView(LayoutInflater inflaterLineChart, ViewGroup containerLineChart, Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    _containerLineChart = containerLineChart;
    _inflaterLineChart = inflaterLineChart;

    try {
        return inflaterLineChart.inflate(R.layout.line_continer, containerLineChart, false);
    }
    catch (Exception ex)
    {
        Log.e(ex.getMessage(), "");
        return null;
    }

}

}