android 嵌套内部 class 用于 xml 抛出 ClassCastException

android nested inner class used in xml throw ClassCastException

java代码:

class OutView{

   public static InView extends LinearLayout{
      ......
   }
}

xml:

 <LinearLayout
 android:id="@+id/inView"
 class="com.example.test.OutView$InView"
 ..... /> 

以上一切正常,但是当我使用:

OutView.InView inView   = (OutView.InView)this.findViewById(R.id.inView);

一个例外:

java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to com.example.test.OutView$InView

发生。

那么如何处理呢?感谢您的提前。

您需要按照定义的相同格式对视图进行类型转换。

这样做

<view
    android:id="@+id/inView"
    class="com.example.test.OutView$InView"
..... />