2011-07-20 21 views
0

我遇到一個ClassCastException試圖將面板元件從android-misc-widgets整合時的Android項目。整合Android的其它的小部件「面板」爲

我抄org.miscwidgets.widget和org.miscwidgets.interpolator包到我的項目和我有麻煩觀看面板中的圖形佈局顯示。該XML看起來是這樣的 -

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:panel="org.miscwidgets.widget".. 

<FrameLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingLeft="37dip" 
    android:paddingRight="37dip" 
> 
    <org.miscwidgets.widget.Panel 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/topPanel" 
     android:paddingBottom="4dip" 
     panel:handle="@+id/panelHandle" 
     panel:content="@+id/panelContent" 
     panel:position="top" 
     panel:animationDuration="1000" 
     panel:linearFlying="true" 
     panel:openedHandle="@drawable/top_switcher_expanded_background" 
     panel:closedHandle="@drawable/top_switcher_collapsed_background" 

    > 
     <Button 
      android:id="@+id/panelHandle" 
      android:layout_width="fill_parent" 
      android:layout_height="33dip" 
     /> 
     <LinearLayout 
      android:id="@+id/panelContent" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
     > 
      <CheckBox 
       android:layout_width="fill_parent" 
       android:layout_height="60dip" 
       android:gravity="center" 
       android:text="top check box" 
       android:background="#688" 
      /> 
      <TextView 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="Bounce\nInterpolator" 
       android:textSize="16dip" 
       android:padding="4dip" 
       android:textColor="#eee" 
       android:textStyle="bold" 
       android:background="#323299" 
      /> 
     </LinearLayout> 
    </org.miscwidgets.widget.Panel> 
    </FrameLayout>... 

堆棧跟蹤爲:

java.lang.ClassCastException: com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:77) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:702) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:79) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:702) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:79) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:702) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:79) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:702) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:79) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:702) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:479) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:367) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:315) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:314) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:283) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1506) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1312) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1043) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:870) 
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.pageChange(LayoutEditor.java:365) 
at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:290) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1383) 
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1195) 
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743) 
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429) 
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1383) 
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1195) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3629) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284) 
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) 
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) 
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) 
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 
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:369) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1408) 

只是想實現一個自上而下的android系統中滑動抽屜。

有人可以幫我找出我做錯了什麼?

+0

你能解釋一下你怎麼複製的包? –

回答

0

在開幕LinearLayout標記線 -

xmlns:panel="org.miscwidgets.widget"

應該

xmlns:panel="http://schemas.android.com/apk/res/name.of.the.package.that.contains.java.file.that.uses.this.layout.file"

希望這可以幫助別人。

+0

我也面臨類似的問題,請幫我解決它..提供一個關於你如何解決這個問題的簡要說明。 –

+0

並請告訴什麼ü這個意思? **已經將org.miscwidgets.widget和org.miscwidgets.interpolator軟件包複製到我的項目中,並且在查看以圖形佈局顯示的Panel時遇到問題。**您是如何複製這些軟件包的? –