I am developing an app using vuforia on android platform. I want to add an overlay view over the camera feed with two buttons but getting these errors.

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)

here is the xml file i am using for overlay layout.

<?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>
有帮助吗?

解决方案

Eclipse tends to mess up your resources every now and then. This leads to some odd behavior such as strings and images being swapped all over your app, and more commonly classCastException(s), which happen when Eclipse switches your Views' ids around.

A few solutions to that problem:

1) Clean your project.

2) Modify an xml layout file and save.

3) Delete your R file. (Don't worry it will be automatically generated again).

Basically anything that makes your project rebuild and re-generate the R file.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top