2014-11-08 102 views
1

我无法运行我的应用程序。它只是突然发生。这一刻我可以运行我的应用程序,下一个我不能..它让我有例外:Android:无法实例化活动

11-08 19:04:42.936 20390-20390/dk.chargesmart.findstroem E/AndroidRuntime﹕ FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{dk.chargesmart.findstroem/dk.chargesmart.findstroem.MainActivity}: java.lang.IllegalAccessException 

而在Android清单文件它说,我的行为是不公开

enter image description here

这里的活动

class MainActivity extends FragmentActivity { 

GoogleMap mMap; 
ClusterManager<MyPin> mClusterManager; 
ArrayList<Location> mLocations; 
boolean showDetail; 
boolean menuHidden; 
boolean isAnimating; 


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

    setUpMapIfNeeded(); 
    downloadItems(); 

    menuHidden = false; 

    setUpMenu(); 
} 

这里的 “头” 更多的是例外

11-08 19:04:42.936 20390-20390/dk.chargesmart.findstroem E/AndroidRuntime﹕ FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{dk.chargesmart.findstroem/dk.chargesmart.findstroem.MainActivity}: java.lang.IllegalAccessException: access to class not allowed 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2219) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349) 
     at android.app.ActivityThread.access$700(ActivityThread.java:159) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:176) 
     at android.app.ActivityThread.main(ActivityThread.java:5419) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:525) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.IllegalAccessException: access to class not allowed 
     at java.lang.Class.newInstanceImpl(Native Method) 
     at java.lang.Class.newInstance(Class.java:1130) 
     at android.app.Instrumentation.newActivity(Instrumentation.java:1078) 

回答

4

您的活动应该被定义为

public class MainActivity extends FragmentActivity { 
    ... 
    ... 
} 

关键字是公共

+0

Doh,我值得一个facepalm这个 - 与宿醉编码:b非常感谢。如此简单的事情浪费了很多时间。 – 2014-11-08 19:07:15

+0

当从其他jvm语言(如:groovy)切换到java时会发生某些情况,因为类中的大多数默认为公共类。 – bitsnaps 2017-11-02 03:24:40

相关问题