0

Androidプラットフォームでvuforiaを使用してアプリを開発しています。2 つのボタンを使用してカメラ フィードにオーバーレイ ビューを追加したいのですが、これらのエラーが発生します。

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 に答える