简体   繁体   English

启动第二个活动时的Android,NoSuchFieldError

[英]Android, NoSuchFieldError when launching second activity

I have two applications and am turning one into a Library so I can launch it from another application. 我有两个应用程序,我正在将其转换为库,因此我可以从另一个应用程序启动它。 In my library I have a facebook image and a twitter image that causes the NoSuchFieldError. 在我的库中,我有一个facebook图像和一个导致NoSuchFieldError的推特图像。 I have the library defined in my manifest. 我在清单中定义了库。

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

I am starting this activity using 我正在使用这个活动

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

It seems to find the activity but when it launches I get the following error in LogCat: 它似乎找到了活动但是当它启动时我在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)

I should point out that if I launch my Library as an application, everything works and loads correctly without any errors. 我应该指出,如果我将我的库作为一个应用程序启动,一切正常,加载正确,没有任何错误。

Thanks for your help! 谢谢你的帮助!

EDIT 编辑

I found my issue. 我发现了我的问题。 In my library I was using 在我的图书馆,我正在使用

setContentView(R.layout.main);

Renaming my layout solved my issue. 重命名我的布局解决了我的问题。

Thanks 谢谢

startActivity with new Intent(Context, class) is only applicable if your activity is within the same application. 具有new Intent(Context, class) startActivity仅在您的活动位于同一应用程序中时才适用。 If you want to start an activity from outside of the application, use its full package name. 如果要从应用程序外部启动活动,请使用其完整包名称。 for example, 例如,

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

Also note that you have spelled Activty without an 'i' (just pointing out. maybe you deliberately did that?) 另请注意,你没有'i'拼写Activty (只是指出。也许你是故意这样做的?)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM