android.view.View无法强制转换为com.zhangxaochen.mysensor.MyView

时间:2012-12-31 06:05:02

标签: android custom-controls

我正在尝试在我的xml文件中添加自定义视图,代码如下:

    <View
    android:id="@+id/myView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/radioGroupSensorRate"
    android:layout_centerHorizontal="true"
    class="com.zhangxaochen.mysensor.MyView" />

但后来得到了运行时异常:

12-31 12:29:20.033: E/AndroidRuntime(4432): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zhangxaochen.mysensor/com.zhangxaochen.mysensor.MyGravitySensor}: java.lang.ClassCastException: android.view.View cannot be cast to com.zhangxaochen.mysensor.MyView

已经在我的java文件中定义了MyView类,我知道<com.packageName.ClassName attrs... />方法可以添加自定义小部件,但我听到有人说第二种方式就像上面<View class='com.zhangxaochen.mysensor.MyView' .../>一样,我试过然后失败了。谁能告诉我如何解决这个问题?或者只是说那是假的?

2 个答案:

答案 0 :(得分:3)

解决〜

第二种方式:<View class="packagename.ClassName" .../>

不起作用只是因为标签'View'被大写,应该是小写的:'view'...

答案 1 :(得分:1)

Xml中按照

创建自定义视图
 <com.zhangxaochen.mysensor.MyView
    android:id="@+id/myView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/radioGroupSensorRate"
    android:layout_centerHorizontal="true"
    />