Android 对achartengine图形使用intent时的双活动窗口

Android 对achartengine图形使用intent时的双活动窗口,android,android-activity,android-intent,duplicates,achartengine,Android,Android Activity,Android Intent,Duplicates,Achartengine,开发环境:Eclipse3.7.0 开发:面向市场的Android 3.2应用程序 使用:aChartEngine 0.7.0 我是开发领域的新手,但在过去的各种语言中都做过一些编码,我创建了ZopaStats(在市场上)应用程序,但现在我正在尝试使用achartengine将基于文本的统计页面转换为条形图。 我可以通过另一个活动(即: Intent achartIntent = new TemperatureChart().execute(this); startActivity(achart

开发环境:Eclipse3.7.0 开发:面向市场的Android 3.2应用程序 使用:aChartEngine 0.7.0

我是开发领域的新手,但在过去的各种语言中都做过一些编码,我创建了ZopaStats(在市场上)应用程序,但现在我正在尝试使用achartengine将基于文本的统计页面转换为条形图。 我可以通过另一个活动(即:

Intent achartIntent = new TemperatureChart().execute(this);
startActivity(achartIntent);
但这给了我一个额外的活动屏幕,即:

主屏幕->第一个活动(原始文本统计视图)->第二个活动(图形)

因此,当我在图形屏幕上回击时,我得到了空白第一活动屏幕。 我希望我在这里讲得有道理。 因此,我尝试从主屏幕(即我的主课堂)启动活动,例如

但是eclipse在代码中给了我以下错误:

类型TemperatureChart中的方法execute(Context)不适用于新参数(View.OnClickListener(){}

我曾尝试让Eclipse更改方法,但这会导致其他问题,因此我认为我真正想要(以一种循环的方式)的是找出当我可以尝试从另一个activity类而不是从main类启动activity时的区别

我为误用术语等表示歉意,因为我说我是新来的。我已经看了几天了,但是意图和活动文档对我没有多大帮助,所以我只需要一些提示


谢谢,

在您的示例中,您传递给
execute()
引用是OnClickListener的匿名内部子类。这不是eclipse所抱怨的上下文对象

相反,您希望传入activity实例。假设您发布的代码片段位于名为
MyExampleActivity
的类中,那么您可以从内部类使用
MyExampleActivity。此
访问包含类的实例。您应该能够将其传递到
TemperatureChart.execute()


从主活动或任何其他活动启动活动没有区别。您只需创建一个意图,并在其上调用startActivity即可。

为完整起见,新代码如下: 注意,我最初的课程叫做ZopaStats.class

final Button button = (Button) findViewById(R.id.button);

button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
  Intent achartIntent = new MarketZopaGraph().execute(ZopaStats.this);
  startActivity(achartIntent);
  }
});

这非常有效,只有一个活动窗口,再次感谢您在创纪录的时间内做出的快速响应;)

当我们使用achartengine绘制图形时,它包含了自己的活动…即org.achartengine.GraphicalActivity。。
当我们按下back键时,它会显示自己的活动,用于显示图形。要隐藏这些活动,请调用onPause()方法上的finish()方法。

文字无法描述我的感激之情;)
final Button button = (Button) findViewById(R.id.button);

button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
  Intent achartIntent = new MarketZopaGraph().execute(ZopaStats.this);
  startActivity(achartIntent);
  }
});