ClassCastException из редактора макетов в Eclipse ADT Plugin - PullRequest
1 голос
/ 08 августа 2010

Это, вероятно, связано с этим вопросом .Я хочу знать, получает ли кто-то еще ту же ошибку, что и я, и есть ли способ обойти это.

Я сделал следующее:

  • Следовал инструкциям эта страница .
  • Сверху перейдите в Файл -> Создать новый проект -> Проект Android -> Создать проект из существующего образца.
  • Проверено Android 2.2.
  • Из выпадающего меню выбрано SkeletonApp.
  • Щелкнул финиш.
  • Из проводника пакетов, перейдите в SkeletonActivity -> res -> layout -> skeleton_activity.xml.
  • Во вкладках в нижней части области редактора (область редактора является центром экрана) щелкнул пункт Макет.

Затем я получил ошибку "ClassCastException: android.widget.EditText не может быть приведен к andoid.text.ViewGroup".Полный текст сообщения об ошибке приведен ниже.

java.lang.ClassCastException: android.widget.EditText cannot be cast to android.view.ViewGroup
at android.view.LayoutInflater.rInflate(LayoutInflater.java:619)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
at android.view.LayoutInflater.inflate(LayoutInflater.java:296)
at com.android.layoutlib.bridge.Bridge.computeLayout(Bridge.java:397)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.computeLayout(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.recomputeLayout(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.onConfigurationChange(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.onTargetChange(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.onDescriptorsChanged(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.initUiRootNode(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor$1.updateEditor(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor$1.onTargetLoaded(Unknown Source)
at com.android.ide.eclipse.adt.AdtPlugin$16.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

1 Ответ

3 голосов
/ 11 октября 2010

Не уверен, что вы прошли эту ошибку, но для тех, кто этого не сделал:

Здесь есть бит кода:

<EditText android:id="@+id/editor"
    android:layout_width="fill_parent" android:layout_height="0dip"
    android:autoText="true"
    android:capitalize="sentences"
    android:layout_weight="1"
    android:freezesText="true" >
    <requestFocus />
</EditText>

Я пока не знаю почему, но методом проб и ошибок проблема возникает из-за элемента requestFocus. Удалите эту строку, и представление «Макет» снова будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...