0

これが私が使用しているコードです。行に表示される他の情報を生成するコードを削除し、円グラフの作成と追加に関連するコードのみを提供しました。「layout.addView(mChartView);」という行を削除すると 次に、テーブルが作成され、他のすべての情報が表示されますが、もちろん、円グラフは表示されません。

    TableLayout table = (TableLayout) findViewById(R.id.table);
    TableRow row = (TableRow) findViewById(R.id.tableRow);

    LayoutInflater inflater = getLayoutInflater();
    GlobalData global = ((GlobalData)getApplicationContext());
    for( int i = 0; i < global.getData(0).size(); i++){

        DataModel current = global.getData(0).get(i);

        row = (TableRow)inflater.inflate(R.layout.tablerow, table, false);
        row.setTag(i);
        row.setClickable(true);

        //pie chart
        RelativeLayout layout = (RelativeLayout) findViewById(R.id.chart);
        int[] values = {50, 100};
        CategorySeries series = new CategorySeries("Market share");
        int k = 0;
        for (int value : values) {
            series.add("Section " + ++k, value);
        }

        int[] colors = new int[] { Color.BLUE, Color.YELLOW };

        DefaultRenderer renderer = new DefaultRenderer();
        for (int color : colors) {
            SimpleSeriesRenderer r = new SimpleSeriesRenderer();
            r.setColor(color);
            renderer.addSeriesRenderer(r);
        }

        mChartView = ChartFactory.getPieChartView(null, series, renderer);
        layout.addView(mChartView);

        // Add the TableRow to the TableLayout
        table.addView(row);

このコード スニペットは、ビューの onCreate イベントにあります。

助けてくれてありがとう。

4

2 に答える 2

1

I found the issue: (I do feel stupid); I had referenced the layout in the following manner

//pie chart
RelativeLayout layout = (RelativeLayout) findViewById(R.id.chart);

I should have

//pie chart
 RelativeLayout layout = (RelativeLayout)row.findViewById(R.id.chart);

When I added row.findViewByID it all works

Wood for the trees problem Sorry for wasting your valuable time.

于 2012-09-03T02:36:20.450 に答える
0

最初はもっと簡単な方法で試してみることをお勧めします。で試してみて、LinearLayoutそれが機能するかどうかを確認してから、 で試してくださいTableLayout。AChartEngine を LinearLayout 内に埋め込む方法については、こちらを参照してください。

于 2012-08-29T05:49:05.510 に答える