Caused by: android.view.InflateException: Binary XML file line

今天自定義一個View,報這個錯。如下所示

Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class 
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.createView(LayoutInflater.java:596)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at org.ila.dvd.VideoFloatingService.createFloatFadeView(VideoFloatingService.java:136)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at org.ila.dvd.VideoFloatingService.onStartCommand(VideoFloatingService.java:121)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2490)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	... 10 more
01-01 00:01:56.919: E/AndroidRuntime(2162): Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.AttributeSet]
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at java.lang.Class.getConstructorOrMethod(Class.java:460)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at java.lang.Class.getConstructor(Class.java:431)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	at android.view.LayoutInflater.createView(LayoutInflater.java:561)
01-01 00:01:56.919: E/AndroidRuntime(2162): 	... 18 more

然後研究了半天,最終找到解決辦法。就是在自定義的View中的構造方法中一定要有AttributeSet這個參數,如下所示。

public FadeDragView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}
這樣就可以正常運行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章