我创建了一个新的xml文件“ test.xml”来测试ToggleButton,因此如果我在图形布局中拖动ToggleButton。布局变得越来越暗,但在图形布局中看不到拖动的ToggleButton。在text.xml中,我可以看到它的代码!

拖动它后,将显示此错误:

Exception raised during rendering: -1
Exception details are logged in Window > Show View > Error Log


errorLog文件中的错误:



java.lang.ArrayIndexOutOfBoundsException: -1
	at android.view.ShadowPainter.createDropShadow(ShadowPainter.java:116)
	at android.view.ShadowPainter.createDropShadow(ShadowPainter.java:48)
	at android.view.ViewGroup_Delegate.getPathShadow(ViewGroup_Delegate.java:140)
	at android.view.ViewGroup_Delegate.drawShadow(ViewGroup_Delegate.java:77)
	at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:61)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3404)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
	at android.view.View.draw(View.java:15017)
	at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3404)
	at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3404)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
	at android.view.View.draw(View.java:15017)
	at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3404)
	at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3404)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
	at android.view.View.draw(View.java:15117)
	at android.view.View.draw(View.java:15022)
	at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3404)
	at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3404)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
	at android.view.View.draw(View.java:15117)
	at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:587)
	at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:334)
	at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:517)
	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.onXmlModelChanged(GraphicalEditorPart.java:1267)
	at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegateXmlModelChanged(LayoutEditorDelegate.java:402)
	at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.xmlModelChanged(CommonXmlEditor.java:329)
	at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor$XmlModelStateListener.modelChanged(AndroidXmlEditor.java:1653)
	at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.wrapEditXmlModel(AndroidXmlEditor.java:1114)
	at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.wrapUndoEditXmlModel(AndroidXmlEditor.java:1190)
	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.MoveGesture.drop(MoveGesture.java:396)
	at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GestureManager$CanvasDropListener.drop(GestureManager.java:679)
	at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:91)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)
	at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)
	at org.eclipse.swt.dnd.DropTarget.Drop_64(DropTarget.java:392)
	at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:260)
	at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)
	at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)
	at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)
	at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)
	at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)







<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" />

</LinearLayout>

最佳答案

在我的情况下,解决方案是在图形布局中切换API。我从API 21切换到API 19。

关于android - 如何在xml文件中创建ToggleButton?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27749771/

10-10 08:22