2010-05-24 49 views
1

当我这样做休耕我得到的尖叫:创建一个错误一个新的Intent结果

Button newGameButton = (Button) this.findViewById(R.id.newGameButton); 
    newGameButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View view) { 
      startActivity(new Intent(this,gameScreen.class)); 
     } 
    }); 

显然我这不是一个需要 我怎样才能解决这个问题犯错?

+1

如果您也可以提供例外,这将有所帮助。不过,我确信没有它可以解决它。 – Skurmedel 2010-05-24 12:51:45

+2

看起来很好。日志中是否有错误?发布GameScreen类。 – 2010-05-24 13:35:07

回答

2

“得到尖叫”不是那种描述性的,所以任何人都可以做的就是猜测你的问题是什么。我的猜测是你需要将gameScreen类添加到清单文件中。此外,gameScreen类延伸Activity

<activity android:name =".gameScreen" android:label="Name Of The Activity"/> 
+0

是上面写的 的错误,我得到的是: 说明\t资源\t路径\t位置\t类型 类型不匹配:不能从查看转换为按钮\t countryCityGameMenu.java \t/countryCityGame/src目录/ COM/countryCityGame \t line 20 \t Java问题 注意:我没有使用 android:label =“活动名称” 它是米吗? – yoavstr 2010-05-24 13:01:16

+0

看来问题出现在countryCityGameMenu类中,并且您试图将某个View类作为Button来投射。没有看到代码就很难诊断。 – JeremyFromEarth 2010-05-24 13:23:23

1

你确定你已经命名你的类gameScreen而不是GameScreen吗?类名中的第一个字母应该是大写字母。

1

我认为你需要从(我没有在时刻任何Android的研究与开发环境)的视图中的上下文

public void onClick(View view) { 
    startActivity(new Intent(view.getContext(),gameScreen.class)); 
} 
4

我认为这个问题是一个范围问题,你这个在你的onClick活动。在这种情况下,这是指onClick方法而不是您的Activity。尝试将其更改为:

startActivity(new Intent(countryCityGameMenu.this,GameScreen.class)); 

这应该调整您的范围问题。

+1

这是正确的答案,即使这不是指的方法,但对象 – RoflcoptrException 2010-05-24 14:07:37

+0

!不错的一个斯格曼! – JeremyFromEarth 2010-05-25 21:49:53

+0

首先谢谢你sgarman你让我的生活变得黯然失色我只有2个小时才把我的节目展示给我的一个演讲,所以非常感谢你! 它的工作,但如果我想发送参数到另一个XML页面呢? 例如我想发送到游戏画面他的难度级别? 或我想暂停的情况下返回到我存储的早期游戏'那么我如何发送数据? – yoavstr 2010-05-27 18:06:51

2

您是否在manifest.xml文件中注册了您的活动?

如果是的话,你可以尝试做

startActivity(new Intent(countryCityGameMenu.this,GameScreen.class)); 

,因为如果你使用的OnClickListener它并不指countryCityGameMenu实例。