我正在尝试获取在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);
我无法弄清楚为什么会抛出这个错误;我没有看到这段代码的问题。有人知道吗?
谢谢你,Felix D。
答案 0 :(得分:5)
请确保代码中的compassView
仅为ImageView
变量,并尝试将其作为
ImageView compassView = (ImageView) findViewById(R.id.visual_compass);
如果一切正确,请尝试从菜单Project-> clean.
和Proejct-> Build
再次清理和构建项目。