2016-08-04 169 views
-1

我遇到了一些与我的android按钮有关的问题。当我按下它,我的应用程序崩溃,并且在我的logcat,我有以下错误:Android按钮无法启动活动

Caused by android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.defendthecastle/com.example.defendthecastle.GameView}; have you declared this activity in your AndroidManifest.xml? 

奇怪的是,那我开始当我点击我的按钮,该活动并非GameView,它的GameActivity(使用GameView作为其视图)。我之前没有在清单中声明的​​活动,所以我这样做了,但我仍然得到相同的错误。 这是我建立了我的按钮:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    View startButton = findViewById(R.id.start_button); 
    startButton.setOnClickListener(this); 
} 

public void onClick(View v) { 
    switch(v.getId()) { 
    case R.id.start_button: 
     Intent i = new Intent(this, GameActivity.class); 
     startActivity(i); 
     break; 
    } 
} 

这里是我的XML按钮:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/start" 
    android:id="@+id/start_button" 

    /> 

最后,这里是我的GameActivity类:

package com.example.defendthecastle; 


import android.app.Activity; 
import android.os.Bundle; 

public class GameActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    GameView gameView = new GameView(this); 
    setContentView(gameView); 
    gameView.requestFocus(); 
} 

} 

我知道这不是我的GameView的问题,因为我尝试使用另一个我认识的应用程序中的另一个视图。这真是令人沮丧,因为这只是我的按钮的问题。任何帮助将不胜感激!

+0

发布您的清单 –

+1

显示您的清单 –

+0

您在这里的第一堂课是什么? 'MainActivity'?显示Manifest以及GameView类。目前还不清楚为什么系统认为你试图开始这种观点作为活动 –

回答

-1

声明您在Manifest文件中的活动,否则它将不会被调用。

注意:确定它应该在Manifest文件的应用程序标记中。

<activity android:name="com.example.defendthecastle.GameView"/> 
+1

再次阅读错误。那是错误的课程。 –

+0

感谢您的编辑,但是帖子明确指出,类是一个视图,而不是活动类 –

+0

,如果它的视图不是一个活动,那么为什么android.content.ActivityNotFoundException显示与'GameView'名称 –