android intellij开关nullpointerexception

android intellij开关nullpointerexception,android,intellij-idea,nullpointerexception,switch-statement,Android,Intellij Idea,Nullpointerexception,Switch Statement,我试图在IntelliJ中的活动中加入一个开关小部件。 当我这样做时,设计器崩溃,android.widget.Switch.jumpDrawablesToCurrentState内部出现一个NullPointException和一个长堆栈跟踪 元素添加了android:id=“@+id/switch”,这会产生编译器错误:无效符号:“switch” 我必须把名字改成别的名字,但不能改成“开关”。奇怪的是,系统添加了一个无效的名称,但我可以接受 但是当开关在布局中时,可视化设计器仍然是无用的。

我试图在IntelliJ中的活动中加入一个开关小部件。 当我这样做时,设计器崩溃,android.widget.Switch.jumpDrawablesToCurrentState内部出现一个NullPointException和一个长堆栈跟踪

元素添加了android:id=“@+id/switch”,这会产生编译器错误:无效符号:“switch”

我必须把名字改成别的名字,但不能改成“开关”。奇怪的是,系统添加了一个无效的名称,但我可以接受

但是当开关在布局中时,可视化设计器仍然是无用的。 我能在谷歌上找到的唯一一件事就是一个bug跟踪器条目描述了这一点。但没有解决办法。 那里发生了什么事?有人知道解决办法吗

编辑 我添加堆栈跟踪:

java.lang.NullPointerException
位于android.widget.Switch.jumpDrawablesToCurrentState(Switch.java:825)
位于android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5158)
位于android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5158)
位于android.widget.FrameLayout.jumpDrawablesToCurrentState(FrameLayout.java:189)
位于android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5158)
位于android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5158)
位于android.view.view.onAttachedToWindow(view.java:11560)
在android.view.view.dispatchAttachedToWindow(view.java:11937)
在android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2415)上
在android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)中
在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:393)上
位于com.android.layoutlib.bridge.bridge.createSession(bridge.java:332)
位于com.android.ide.common.rendering.layoutbrary.createSession(layoutbrary.java:333)
位于org.jetbrains.android.uipreview.RenderService.createRenderSession(RenderService.java:127)
位于org.jetbrains.android.uipreview.RenderUtil.renderLayout(RenderUtil.java:154)
在com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$8.run(AndroidDesignerEditorPanel.java:346)
在com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
在com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
位于com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
位于com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
位于com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
位于com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
在com.intellij.util.Alarm$Request$1.run(Alarm.java:289)上
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
在java.util.concurrent.FutureTask.run(FutureTask.java:166)中
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
在java.lang.Thread.run(Thread.java:722)


添加开关后,这将显示在设计器视图中,而不是活动中。

请显示堆栈跟踪。可能是API级别?添加了堆栈跟踪。是的,它是API级别的。整个事情只发生在设计师身上。我可以运行这个应用程序。只要设计师停止工作,如果开关存在。看看:好的,我做了,但我没有使用自制的元素,这个开关是从基本上安装的工具。我的API级别是17,远远高于建议的14。我尝试了低于14的东西,但也没有成功。与你链接中的用户相比,我可以执行应用程序,但在设计器中看不到我的视图。还有其他想法吗?