Проблемы с ахартенжином - PullRequest
0 голосов
/ 17 февраля 2011

Я пытаюсь построить символ, используя библиотеку из achartengine (http://www.achartengine.org/).). Поэтому я пытаюсь запустить 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);
            }
        });

Но это не сработает. Как я могу заставить его работать. Надеюсь, вы понимаетечто я говорю. Это ошибка:

Метод execute (Context) в типе IChart не применим для аргументов (новый View.OnClickListener () {})

Ответы [ 2 ]

0 голосов
/ 17 февраля 2011

Когда вы вызываете this в execute(), он ссылается на класс OnClickListener из-за объявления динамического класса. Попробуйте использовать getApplicationContext() вместо this.

0 голосов
/ 17 февраля 2011

Ваша проблема в том, что "это", упомянутое внутри этого метода, относится к представлению (которое вы создаете в этой точке).

Для выполнения метода нужен контекст, поэтому вам нужно получить контекст другим способом.

Вы должны попытаться получить контекст следующим образом:

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);
            }
        });
...