Error inflating class错误

09-30 23:30:01.968: E/AndroidRuntime(14741): Caused by: java.lang.NoSuchMethodException: WaterBoxView(Context,AttributeSet)
09-30 23:30:01.968: E/AndroidRuntime(14741): at java.lang.Class.getMatchingConstructor(Class.java:643)
09-30 23:30:01.968: E/AndroidRuntime(14741): at java.lang.Class.getConstructor(Class.java:472)
09-30 23:30:01.968: E/AndroidRuntime(14741): at android.view.LayoutInflater.createView(LayoutInflater.java:480)
09-30 23:30:01.968: E/AndroidRuntime(14741): ... 29 more

 

重点在于最后一句。

.NoSuchMethodException: WaterBoxView(Context,AttributeSet)

也就是没有这个对应的方法(没有定义inflate需要的默认构造函数),下面我们就实现它。

1     public WaterBoxView(Context context, AttributeSet attrs) {
2         super(context, attrs);
3              LayoutInflater inflater = (LayoutInflater) context
5                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
6         inflater.inflate(R.layout.water_box, this);
7 
8     }

这样就行了。

 参考Error inflating class错误

posted @ 2012-09-30 23:41  陈哈哈  阅读(11494)  评论(0编辑  收藏  举报