0

achartengine (http://www.achartengine.org/) のライブラリを使用して char を作成しようとしています。だから私は自分のアプリケーションで SalesGrowthChart.java を実行しようとしているので、誰かがボタンをクリックするとチャートが表示されます。

これは私のコードです:

private IChart[] mCharts = new IChart[]{new generatedchart()};

そして、私はこのように生成しようとします

bt.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                 Intent myIntent = new Intent(view.getContext(), generatedchart.class);
                 myIntent=mCharts[0].execute(this);
            }
        });

しかし、これはうまくいきません。どうすれば機能しますか。私の言っていることを理解していただければ幸いです。これはエラーです:

タイプ IChart のメソッド execute(Context) は引数に適用されません (new View.OnClickListener(){})

4

2 に答える 2

0

this内で呼び出す場合、動的クラス宣言のためexecute()、クラスを参照しています。の代わりにOnClickListener使用してみてください。getApplicationContext()this

于 2011-02-16T21:27:22.710 に答える
0

あなたの問題は、そのメソッド内で言及されている「これ」がビューを参照していることです(これは、その時点で作成しているものです)。

メソッド execute にはコンテキストが必要なので、別の方法でコンテキストを取得する必要があります。

次のようにコンテキストを取得してみてください。

YourActivityName.this

あなたのコードでは次のようになります:

bt.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                 Intent myIntent = new Intent(view.getContext(), generatedchart.class);
                 myIntent=mCharts[0].execute(YourActivityName.this);
            }
        });
于 2011-02-16T21:21:49.210 に答える