无法创建零件的控件

时间:2012-10-28 21:40:57

标签: android android-layout nullpointerexception android-xml

我得到一个空指针异常,打开我的布局目录中大约一半的android XML文件。似乎没有模式可以解释为什么某些文件打开而某些文件没有。

我将eclipse升级为Juno。重新安装所有插件(ADT),重新安装android SDK。我带来了我的旧工作区并调整了我的项目以指向新的Android SDK。

堆栈

  

显示java.lang.NullPointerException       在com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigurationComposite.setLocaleCombo(ConfigurationComposite.java:1566)       在com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigurationComposite.syncRenderState(ConfigurationComposite.java:3049)       在com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1158)       在com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:679)       在com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:359)       at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1081)       at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:607)

5 个答案:

答案 0 :(得分:6)

我找到了一种解决方法。我的日食最近因为一个无关的原因而崩溃(并且不会重新开始)。为了让它重新开始,我删除了$ {workspace} /.metadata / .plugins中的大部分文件。这些文件会重新生成(但会擦除一些已保存的插件和设置)。解决了我的启动问题和我的xml编辑器问题。

答案 1 :(得分:2)

只需关闭所有xml文件并重新启动Eclipse SDK

即可

答案 2 :(得分:0)

另一种对我有用的解决方案,可能适用于其他人:

创建一个新工作区并将现有项目导入其中。尝试这个比我在现有工作区中吹走或移动我的.plugins目录感觉好一点。在我创建了新工作区并导入了给我隐藏的“创建零件控件失败”消息的项目之后,它运行正常。我很确定它在.plugins或旧工作区的其他地方有些不好,但我会继续使用这个新的,直到它开始惹恼我。

答案 3 :(得分:0)

请注意,如果包含的文件夹包含太高的分辨率

,也会发生这种情况

实施例: layout-sw500dp(这个文件夹工作正常) layout-sw1000dp(此文件夹导致“无法创建部件的控件”错误)

答案 4 :(得分:0)

我终于发现了...... 即使删除并设置了eclipse的新副本,我也遇到了问题。问题是因为Java版本错误。你应该为你的日食找到合适的Java版本。 在我的情况下,我有一个使用Java 8的项目,为此我使用eclipse Luna。但是我开发它的另一个项目是eclipse kepler使用java 6(带有问题的项目!)。 由于Kepler和Java 8不兼容,我从kepler那里得到了这种奇怪的行为。一旦我通过Java 6运行Kepler,一切都恢复正常。 如果您想知道如何设置不同的环境变量并设置Windows路径而不是每次为每个项目设置环境变量,请告诉我,我很乐意分享如何编写批处理文件来做到这一点......