2016-08-04 15 views
-1

Ich habe ein kleines Problem mit meinem Android-Button. Als ich es drücken, meine App abstürzt, und in meinem logcat, habe ich folgende Fehlermeldung:Android-Schaltfläche kann die Aktivität nicht starten

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? 

Das Seltsame ist, dass die Aktivität, die ich beginnen würde, wenn ich meine Schaltfläche klicken ist nicht GameView, es ist GameActivity (die GameView als seine Ansicht verwendet). Ich hatte die Aktivität noch nicht in meinem Manifest deklariert, also tat ich das, aber ich bekomme immer noch den gleichen Fehler. Dies ist, wie ich meine Taste einrichten:

@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; 
    } 
} 

Und hier ist der Knopf in meinem xml:

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

    /> 

Schließlich, hier ist meine GameActivity Klasse:

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(); 
} 

} 

Ich weiß, Es ist kein Problem mit meinem GameView, weil ich versucht habe, eine andere Ansicht aus einer anderen App zu verwenden, von der ich weiß, dass sie funktioniert. Das ist wirklich frustrierend, weil es nur ein Problem mit meiner Schaltfläche ist. Jede Hilfe würde sehr geschätzt werden!

+0

Post Manifest –

+1

zeigen Sie Ihre 'manifest' –

+0

Was die erste Klasse haben Sie hier? 'Hauptaktivität'? Zeige die Manifest- sowie die 'GameView'-Klasse. Es ist unklar, warum das System denkt, dass Sie versuchen, diese Ansicht als Aktivität zu starten. –

Antwort

-1

Deklarieren Sie Ihre Aktivität in der Manifestdatei, sonst wird sie nicht aufgerufen.

Hinweis: Und sicher, es sollte in Application-Tag der Manifest-Datei sein.

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

Lesen Sie den Fehler erneut. Das ist die falsche Klasse. –

+0

Danke für die Bearbeitung, aber der Beitrag gibt explizit an, dass Klasse eine Ansicht ist, keine Aktivitätsklasse –

+0

Wenn seine Ansicht keine Aktivität ist, dann warum android.content.ActivityNotFoundException mit 'GameView' angezeigt wird Name –