我正在尝试使用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);
}
});
但这不起作用。我怎样才能让它发挥作用。希望你明白我在说什么。 这是错误:
IChart类型中的方法execute(Context)不适用于参数(new View.OnClickListener(){})
答案 0 :(得分:0)
你的问题是该方法中提到的“this”是指一个视图(这是你在那时创建的。)
方法execute需要一个Context,所以你需要以不同的方式获取上下文。
你应该尝试获得这样的上下文:
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);
}
});
答案 1 :(得分:0)
当您在this
内呼叫execute()
时,由于动态类声明,它指的是OnClickListener
类。尝试使用getApplicationContext()
代替this
。