膨胀视图会在物理设备上抛出Resources $ NotFoundException

时间:2011-07-16 18:28:37

标签: java android

确切错误:

07-16 18:34:41.729: ERROR/AndroidRuntime(28347):     android.content.res.Resources$NotFoundException: Resource ID #0x7f030001
07-16 18:34:41.729: ERROR/AndroidRuntime(28347):     at android.content.res.Resources.getValue(Resources.java:892)
07-16 18:34:41.729: ERROR/AndroidRuntime(28347):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
07-16 18:34:41.729: ERROR/AndroidRuntime(28347):     at android.content.res.Resources.getLayout(Resources.java:731)
07-16 18:34:41.729: ERROR/AndroidRuntime(28347):     at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
...

电话:

LayoutInflater a = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
LinearLayout mainLayout = (LinearLayout)findViewById(R.id.linearLayout1);
mainLayout.removeAllViews();                
mainLayout.addView(a.inflate(R.layout.input, null));

底线引发错误。

错误中的资源ID为R.layout.input,我正在尝试将其插入另一个LayoutView mainLayout

奇怪的是,只有当我在手机上调试时才会发生这种情况,当我在模拟器中运行它时,它可以正常工作并添加LayoutView,但如果我尝试在手机上调试,则会出现此错误

2 个答案:

答案 0 :(得分:2)

尝试使用Project>在Eclipse中清理来清理项目。这似乎为我解决了大部分这些莫名其妙的问题。

答案 1 :(得分:0)

我最终通过重新设置我试图添加到主视图的LayoutView来解决这个问题。

我认为这是因为我使用2.3.3设计师设计它,因为手机是2.2(以及应用程序的目标)

奇怪的是2.2模拟器使用它,所以我不完全确定它为什么有效。