2011-12-19 86 views
9

我有两个应用程序,并将其中一个转换为库,以便从另一个应用程序启动它。在我的图书馆中,我有一个Facebook图片和一个导致NoSuchFieldError的推特图片。我在清单中定义了库。启动第二个活动时的Android,NoSuchFieldError

<activity android:name="com.funayman.listactivity.ApplicationListActivty" /> 

我开始使用

startActivity(new Intent(this, ApplicationListActivty.class)); 

似乎找到活动该活动,但是当它启动我在logcat中出现以下错误:

E/AndroidRuntime( 731): java.lang.NoSuchFieldError: com.funayman.listactivity.R$id.img_fb 
E/AndroidRuntime( 731): at com.funayman.listactivity.ApplicationListActivty.onCreate(ApplicationListActivtyActivity.java:58) 
E/AndroidRuntime( 731): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
E/AndroidRuntime( 731): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
E/AndroidRuntime( 731): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
E/AndroidRuntime( 731): at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
E/AndroidRuntime( 731): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
E/AndroidRuntime( 731): at android.os.Handler.dispatchMessage(Handler.java:99) 
E/AndroidRuntime( 731): at android.os.Looper.loop(Looper.java:123) 
E/AndroidRuntime( 731): at android.app.ActivityThread.main(ActivityThread.java:4363) 
E/AndroidRuntime( 731): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime( 731): at java.lang.reflect.Method.invoke(Method.java:521) 
E/AndroidRuntime( 731): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
E/AndroidRuntime( 731): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
E/AndroidRuntime( 731): at dalvik.system.NativeStart.main(Native Method) 

我应该指出的是,如果我将我的库作为应用程序启动,则一切正常并正确加载而不会出现任何错误。

感谢您的帮助!

编辑

,我发现我的问题。在我的图书馆我使用

setContentView(R.layout.main); 

重命名我的布局解决了我的问题。如果你的活动是在同一应用中

感谢

+0

+1问同样的问题询问我正要问。 – 2012-02-16 03:25:49

回答

8

startActivitynew Intent(Context, class)才适用。如果您想从应用程序外部启动活动,请使用其完整软件包名称。 例如,

Intent i = new Intent("com.test.application"); 
startActivity(i); 

另外请注意,你已经拼Activty没有一个“i”(只是指出,也许你故意这样做?)

+0

+1这个无价的信息,出现在正确的地方和正确的时间。我确信这是隐藏在我的718页的书中的某个地方,但你的搜索更容易。谢谢! – 2012-02-16 03:27:18

相关问题