1

Androidで円グラフを描くためにサーフェスビューを使用しています。パイスライスの大きさを知るには、onDraw()メソッドにパラメーターを渡す必要があります。これどうやってするの?onDraw()内で、適切なデータをフェッチするdatahelper-classにクエリを実行します。

onDrawから1つのアクティビティで静的関数を呼び出そうとしましたが、どの関数が整数を返しました。しかし、もっと動的なものが必要なので、必要な整数をアクティビティからonDrawに送信して、円グラフの形式で結果を取得できます。

助言がありますか?

4

1 に答える 1

4

解決策の1つは、次のようになります。

public class MySurfaceView extends SurfaceView
{
    private MyParameter parameter;

    public void setParameter(MyParameter parameter)
    {
        this.parameter=parameter;
    }

    @Override
    public void onDraw(Canvas canvas)
    {
        if(this.parameter==null)
            return;  //nothing to draw...
        //draw here...
    }
}

//somewhere in code

MySurfaceView sView=(SurfaceView )findViewById(R.id.pie_chart);
//
sView.setParameter(new MyParameter(100,2000, false));

}
于 2011-06-06T16:34:14.897 に答える