2012-04-07 4 views
0

Ich habe eine abstrakte Klasse namens Bildschirm auf diese Weise implementiert ....InstantiationException während der abstrakten Klasse auf Android erstreckt

public abstract class Screen { 
    protected final Game game; 

    public Screen(Game game) { 
    this.game = game; 
    } 

    public abstract void update(float deltaTime); 
    public abstract void present(float deltaTime); 
    public abstract void pause(); 
    public abstract void resume(); 
    public abstract void dispose(); 
} 

und eine Klasse Verlängerung der Screen-Klasse

public class LoadingScreen extends Screen { 

    public LoadingScreen(Game game) { 
     super(game); 
    } 


    @Override 
    public void update(float deltaTime) { 


    } 

    @Override 
    public void present(float deltaTime) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void pause() { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void resume() { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void dispose() { 
     // TODO Auto-generated method stub 

    } 

} 

Aber als ich versuchte, das Projekt auszuführen, habe ich die folgenden log:

04-07 03:01:09.603: E/AndroidRuntime(1107): FATAL EXCEPTION: main 
04-07 03:01:09.603: E/AndroidRuntime(1107): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobi.classic.snake/com.mobi.classic.snake.LoadingScreen}: java.lang.InstantiationException: com.mobi.classic.snake.LoadingScreen 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.os.Looper.loop(Looper.java:123) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at java.lang.reflect.Method.invoke(Method.java:521) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at dalvik.system.NativeStart.main(Native Method) 
04-07 03:01:09.603: E/AndroidRuntime(1107): Caused by: java.lang.InstantiationException: com.mobi.classic.snake.LoadingScreen 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at java.lang.Class.newInstanceImpl(Native Method) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at java.lang.Class.newInstance(Class.java:1429) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 
04-07 03:01:09.603: E/AndroidRuntime(1107):  ... 11 more 

ich bin neu in Android Spiel Programmi ng und ich habe keine Ahnung, worum es geht, ich habe das Problem bereits gegoogelt und mir eine ähnliche Frage angeschaut, aber ich habe die Antwort nicht bekommen. Bitte helfen Sie mir ...

Antwort

1

Es scheint, als ob Sie versuchen, die LoadingScreen Klasse als eine Aktivität zu verwenden, aber es ist nicht. Sie können nur Aktivitäten (oder Klassen, die erweitern von Activity) verwenden. Überprüfen Sie die hello world sample.

1

Sie haben als Hauptklasse Login, so dass Sie

verlängern einige Aktivitätsklasse benötigen müssen.

class LoginScreen extends Activity 
{ 
    onCreate(....) 
    { 
    new ABC(); 
    super(..); 
    } 

    class ABC extends Screen 
    { 
    // your code goes here... 
    } 
} 
+0

oh yeah ... danke..ich habe es ... vielen Dank .. – scamexdotexe

Verwandte Themen