2

我正在尝试获取在 XML 布局文件中定义的 ImageView 的实例:

<RelativeLayout
    android:id="@+id/visual_compass_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/output_container" >

    <ImageView
        android:id="@+id/visual_compass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="Compass"
        android:scaleType="fitStart"
        android:src="@drawable/compass_rose" />

</RelativeLayout>

但我总是得到那个运行时错误:

... java.lang.ClassCastException: android.widget.RelativeLayout cannot be
cast to android.widget.ImageView ... at net.example.MainActivity.onCreate
(MainActivity.java:57)

行“57”是那一行:

compassView = (ImageView) findViewById(R.id.visual_compass);

我不知道为什么会抛出该错误;我看不出那段代码有什么问题。还有人知道吗?

谢谢你,菲利克斯 D。

4

1 回答 1

5

确保在您的代码中仅compassViewImageView变量并尝试以

  ImageView compassView = (ImageView) findViewById(R.id.visual_compass); 

如果一切正常,请尝试从菜单中再次清理并构建您的项目,Project-> clean.然后Proejct-> Build.

于 2013-07-17T06:06:32.943 回答