0

何か提案してください!

問題:

私は achartengine ライブラリ ( achartengine ) を使用して、Android アプリで円グラフを描画しています。

問題 - エミュレーターでは問題なく動作しますが、実際の電話では動作しません。
私が見つけたように(実際の電話)、値はすべてゼロであると考えています。
シリーズに追加する直前とシリーズ要素として追加した後にアプリケーションに値を記録しました-それらはゼロではありません。
私はやるべきことをすべてやった - エクスポートされたライブラリ achartengine-1.1.0.jar など、それ以外は問題なく動作する

詳細:

クラスに Integer arrayList を渡します (これは円グラフのデータになります)。add メソッドは double 値を受け入れるため、それを double に変換します。

追加

add

public void add(java.lang.String category,
            double value)
Adds a new value to the series.
Parameters:
category - the category
value - the new value  

それが円グラフを描く私のクラスです

public class piegraph {

public Intent getIntent(Context context, ArrayList<Integer> arraylist) {

    double val1 = arraylist.get(0).doubleValue();
    double val2 = arraylist.get(1).doubleValue();
    double val3 = arraylist.get(2).doubleValue();
    double val4 = arraylist.get(3).doubleValue();
    double val5 = arraylist.get(4).doubleValue();
    double val6 = arraylist.get(5).doubleValue();


    CategorySeries series = new CategorySeries("Pie iGraph");


    // the way it doesn't work on a phone:

    series.add("6A", val1);
    series.add("6B", val2);
    series.add("6C", val3);
    series.add("7A", val4);
    series.add("7B", val5);
    series.add("7C", val6);


    // the way it works on a phone:

 /*
    series.add("6A", 2);
    series.add("6B", 3);
    series.add("6C", 4);
    series.add("7A", 6);
    series.add("7B", 3);
    series.add("7C", 3); */

    int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN, Color.LTGRAY };

    DefaultRenderer renderer = new DefaultRenderer();
    for (int color : colors) {
        SimpleSeriesRenderer r = new SimpleSeriesRenderer();
        r.setColor(color);
        renderer.addSeriesRenderer(r);
    }
    renderer.setChartTitle("This month");
    renderer.setChartTitleTextSize(7);
    renderer.setZoomButtonsVisible(true);

    Intent intent = ChartFactory.getPieChartIntent(context, series, renderer, "Pie");
    return intent;
    }
}  

そして、私はそれを呼び出して、次のように配列リストを渡します:

public void onClick(View v) {

    switch (v.getId()) {
    case R.id.btnGra:

    ArrayList<Integer> arra = new ArrayList<Integer>();

        arra.add(sum_6a);
        arra.add(sum_6b);
        arra.add(sum_6c);
        arra.add(sum_7a);
        arra.add(sum_7b);
        arra.add(sum_7c);


    piegraph pie = new piegraph();
    Intent lineIntent = pie.getIntent(this, arra);
    startActivity(lineIntent);

    break;

    }
}  

だから私は本当に何が間違っているのか分かりません.2つの電話、Android 2.3.6、ターゲットバージョンは2.3.3でテストされています

ありがとう!

4

0 に答える 0