0

我正在android平台上使用vuforia开发一个应用程序。我想用两个按钮在相机源上添加一个覆盖视图,但出现这些错误。

10-14 09:53:41.422: E/AndroidRuntime(2584): FATAL EXCEPTION: main
10-14 09:53:41.422: E/AndroidRuntime(2584): java.lang.ClassCastException: android.widget.ToggleButton cannot be cast to android.widget.ImageView
10-14 09:53:41.422: E/AndroidRuntime(2584):     at com.qualcomm.QCARSamples.VideoPlayback.VideoPlayback.setupStartScreen(VideoPlayback.java:963)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at com.qualcomm.QCARSamples.VideoPlayback.VideoPlayback.access$12(VideoPlayback.java:927)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at com.qualcomm.QCARSamples.VideoPlayback.VideoPlayback$3.run(VideoPlayback.java:881)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at android.os.Handler.handleCallback(Handler.java:730)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at android.os.Looper.loop(Looper.java:137)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at android.app.ActivityThread.main(ActivityThread.java:5103)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at java.lang.reflect.Method.invokeNative(Native Method)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at java.lang.reflect.Method.invoke(Method.java:525)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-14 09:53:41.422: E/AndroidRuntime(2584):     at dalvik.system.NativeStart.main(Native Method)

这是我用于覆盖布局的 xml 文件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="15dip">

    <ToggleButton android:id="@+id/start_button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="60dp"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:textOff="@string/button_start"
        android:textOn="@string/button_reset"
        android:enabled="false"
    />

    <Button android:id="@+id/clear_button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="60dp"
        android:layout_height="40dp"
        android:layout_toLeftOf="@id/start_button"
        android:layout_alignParentBottom="true"
        android:layout_marginRight="10dip"
        android:text="@string/button_clear"
    />

    <Button android:id="@+id/delete_button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="60dp"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="@string/button_delete"
        android:visibility="gone"
    />

</RelativeLayout>
4

1 回答 1

0

Eclipse 往往会时不时地弄乱您的资源。这会导致一些奇怪的行为,例如在整个应用程序中交换字符串和图像,更常见classCastException(s),的是当 Eclipse 切换视图的 id 时发生。

该问题的一些解决方案:

1)清理你的项目。

2)修改一个xml布局文件并保存。

3)删除你的R文件。(不用担心它会再次自动生成)。

基本上任何使您的项目重建和重新生成 R 文件的东西。

于 2013-10-14T14:12:27.400 回答