當我嘗試在framelayout中加載片段時,應用程序崩潰並在log cat中顯示「資源未找到異常」。 當應用程序進行服務調用並嘗試多次加載片段時,我收到異常。
我已經在Google上搜索了這個問題,但沒有一篇文章或答案能幫助我。
Logtrace:
10-08 05:38:25.866: E/AndroidRuntime(27073): android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7d0
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.content.res.Resources.getResourceName(Resources.java:3192)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:896)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1082)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.app.BackStackRecord.run(BackStackRecord.java:833)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:452)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.os.Handler.handleCallback(Handler.java:739)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.os.Handler.dispatchMessage(Handler.java:95)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.os.Looper.loop(Looper.java:145)
10-08 05:38:25.866: E/AndroidRuntime(27073): at android.app.ActivityThread.main(ActivityThread.java:5832)
10-08 05:38:25.866: E/AndroidRuntime(27073): at java.lang.reflect.Method.invoke(Native Method)
10-08 05:38:25.866: E/AndroidRuntime(27073): at java.lang.reflect.Method.invoke(Method.java:372)
10-08 05:38:25.866: E/AndroidRuntime(27073): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
10-08 05:38:25.866: E/AndroidRuntime(27073): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
代碼:
final FrameLayout frame = new FrameLayout(context);
frame.setId((i+1000)); // since frame layout added at runtime in loop i have added iteration value with 1000 to get unique id.
final Fragment newFragment = new Fragment()
mContext.getFragmentManager().beginTransaction().add((i +1000) ,newFragment).commitAllowingStateLoss();
能否請你幫我解決這個問題。
你不能這樣'frame.setId((I + 1000))自己使用特定的ID;'。 – starkshang
我只是爲框架佈局設置隨機ID,併爲框架佈局添加片段。它的工作正常,如果用戶界面更新單次定時服務調用如果服務調用多次(如果第二個服務在第一次服務完成之前),那麼應用程序崩潰與資源未發現異常。 – deepa
我認爲首先你應該找到id#0x7d0指的是什麼。是你的FrameLayout框架或newFragment或其他。 – starkshang