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!
Post Manifest –
zeigen Sie Ihre 'manifest' –
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. –