0

xml エディタからグラフィカル レイアウトが表示されないというエラーが発生しました... これは、Eclispe のエラー ログのメッセージとスタック トレース メッセージです。

activity_patient.xml: com.android.layoutlib.bridge.impl.binding.FakeAdapter cannot be cast to android.widget.BaseAdapter

スタックトレース

java.lang.ClassCastException: com.android.layoutlib.bridge.impl.binding.FakeAdapter cannot be cast to android.widget.BaseAdapter
    at android.widget.FastScroller.getSectionsFromIndexer(FastScroller.java:512)
    at android.widget.FastScroller.getThumbPositionForListPosition(FastScroller.java:633)
    at android.widget.FastScroller.onScroll(FastScroller.java:458)
    at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1323)
    at android.widget.ListView.layoutChildren(ListView.java:1707)
    at android.widget.AbsListView.onLayout(AbsListView.java:2102)
    at android.view.View.layout(View.java:13754)
    at android.view.ViewGroup.layout(ViewGroup.java:4362)
    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:948)
    at android.view.View.layout(View.java:13754)
    at android.view.ViewGroup.layout(ViewGroup.java:4362)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
    at android.view.View.layout(View.java:13754)
    at android.view.ViewGroup.layout(ViewGroup.java:4362)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1420)
    at android.view.View.layout(View.java:13754)
    at android.view.ViewGroup.layout(ViewGroup.java:4362)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1420)
    at android.view.View.layout(View.java:13754)
    at android.view.ViewGroup.layout(ViewGroup.java:4362)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:449)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:333)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:372)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1638)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1389)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1163)
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:674)
    at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)
    at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1300)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1285)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1079)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3023)
    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1730)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:270)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3554)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3179)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    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:601)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

エミュレータを実行したときにレイアウトが正常に動作するため、これを修正する方法がわかりません..簡単に編集できないため、ハードコードする必要があります...これを修正する方法については、入力が役立ちますまたは、この問題を修正した人はいますか? 私の推測では、adt プラグインにあると思います..

ちなみに、Juno EclipseとADTの最新バージョンを使用しています

4

2 に答える 2

1

これはカスタム レイアウトの既知の問題です。

ビジュアル レイアウト エディターは、XML から読み取ったクラスのみを読み込みます。基本的に、デフォルトのウィジェットではない XML 内のノードを見つけると、対応するクラスをロードするように eclipse に要求します。ロードしたクラスがプロジェクトから別のクラスをロードする必要がある場合、私たちが行ったカスタム クラス ローダーが実際には処理しない可能性があります。

ここに同様の問題があります

ここに解決策がありますが、自分で試したことはありません..

于 2012-07-29T12:43:06.423 に答える
0

ClassCastException1 つの画面に複数のスクロール ビューがある場合も取得されます。たとえば、 a のListView中に aがある場合ScrollView、この例外が表示されます。幸いなことに、Eclipse では問題に下線が引かれ、次のように表示されます。

垂直にスクロールする ScrollView には、別の垂直にスクロールするウィジェット (ListView) を含めることはできません。

ホバーすると。

于 2012-07-31T17:08:15.240 に答える