从Intent传递构造函数的参数

时间:2014-04-05 10:40:39

标签: android android-intent opengl-es

我在线上找到错误,当我启动意图时(创建意图可能没问题)。这是代码,我尝试启动意图:

start.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Intent game = new Intent(getApplicationContext(), PGame.class);
        PMainMenu.this.startActivity(game);
    }
});

这是一个类,我开始意图:

public class PGame extends GLSurfaceView {
    private PGameRenderer renderer;

    public PGame(Context context) {
        super(context);     
        renderer = new PGameRenderer();     
        this.setRenderer(renderer);     
    } 
} 

我认为问题在于,我没有将任何论据传递给上下文,但我不确定。

感谢您的帮助。

编辑1:

当我从构造函数中删除其他所有内容时,它看起来像这样:

public class PGame extends GLSurfaceView {
    private PGameRenderer renderer;

    public PGame(Context context) {
        super(context);     
        renderer = new PGameRenderer();     
        this.setRenderer(renderer);     
    } 
} 

它仍然崩溃。

编辑2:

这是我每次都抓到的错误:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{cz.vilix.planeometry/cz.vilix.planeometry.PGame}: java.lang.InstantiationException: cz.vilix.planeometry.PGame

1 个答案:

答案 0 :(得分:1)

您的班级PGame不是活动。您只能使用Intent开始活动。您需要创建一个扩展Activity并将其内容视图设置为自定义SurfaceView

的类

修改

别忘了在清单文件中添加Activity元素。像这个例子

<activity
    android:name="com.example.yourApp.NewActivity" >
</activity>