Java 级别按钮在Android Studio中不起作用

Java 级别按钮在Android Studio中不起作用,java,android,game-engine,android-launcher,Java,Android,Game Engine,Android Launcher,我在android studio中制作了一个游戏,用户在被障碍物击中之前必须收集尽可能多的星星。我在这个游戏中有3个关卡,但我想手动选择“游戏结束”屏幕中的关卡。我在“游戏结束”屏幕上有一个重新启动按钮,我使用它作为一级按钮,因为它做同样的事情,但我不知道如何手动选择二级甚至三级。我犯的错误是 “java.lang.IllegalStateException:无法为android执行方法:onClick”。任何我需要添加(或删除)的帮助都将不胜感激 游戏引擎类别: if(theLevel &

我在android studio中制作了一个游戏,用户在被障碍物击中之前必须收集尽可能多的星星。我在这个游戏中有3个关卡,但我想手动选择“游戏结束”屏幕中的关卡。我在“游戏结束”屏幕上有一个重新启动按钮,我使用它作为一级按钮,因为它做同样的事情,但我不知道如何手动选择二级甚至三级。我犯的错误是

“java.lang.IllegalStateException:无法为android执行方法:onClick”
。任何我需要添加(或删除)的帮助都将不胜感激

游戏引擎类别:

  if(theLevel >= 2){
                newLevel = 2;

                canvas.drawBitmap(AppConstants.getBitmapBank().images[tubes.get(i).getNumber()], tubes.get(i).getTubeX(), tubes.get(i).getTopTubeY(), null);

            }
课余游戏:

  private Button  level2btn;

level2btn = findViewById(R.id.level2btn);

public void level2(View view) {
        Intent intent = new Intent(GameOver.this, GameEngine.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
        AppConstants.gameEngine = new GameEngine();
        GameEngine.newLevel = 2;
        finish();
        startActivity(intent);
}
XML:



执行时:level2btn=findviewbyd(R.id.level2btn);level2btn的价值是多少?如果它与level2(视图)在同一个类中,我想它应该为null,对吗?@IvanKaloyanov是的,它应该为null。
 <Button
        android:id="@+id/level2btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="224dp"
        android:layout_marginLeft="224dp"
        android:layout_marginTop="165dp"
        android:onClick="level2"
        android:background="@drawable/level2btn" />