我知道我可以这样做,警告指示我;创建2或3个参数的View构造函数。
但是,CustomView
来自第三方SDK final
,所以我觉得我必须使用这个来充分利用SDK。无论如何,没有机会延长final CustomView
。
有解决方法吗?
另一方面,我试图使用的视图是
MetaioSurfaceView
Metaio。{/ p>
以下是崩溃后的logcat消息:
A/WTF(18270): Unable to start activity ComponentInfo{com.suzi.application/com.suzi.application.CustomActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class com.metaio.sdk.MetaioSurfaceView
A/WTF(18270): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.suzi.application/com.suzi.application.CustomActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class com.metaio.sdk.MetaioSurfaceView
A/WTF(18270): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
A/WTF(18270): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
A/WTF(18270): at android.app.ActivityThread.access$700(ActivityThread.java:165)
A/WTF(18270): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
A/WTF(18270): at android.os.Handler.dispatchMessage(Handler.java:99)
A/WTF(18270): at android.os.Looper.loop(Looper.java:176)
A/WTF(18270): at android.app.ActivityThread.main(ActivityThread.java:5455)
A/WTF(18270): at java.lang.reflect.Method.invokeNative(Native Method)
A/WTF(18270): at java.lang.reflect.Method.invoke(Method.java:525)
A/WTF(18270): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
A/WTF(18270): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
A/WTF(18270): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:7)
如果您有自定义视图,并且customView只有一种类型的构造函数,如默认构造函数
在xml中添加自定义视图而不是xml想要的
CustomView(Context context, AttributeSet attrs)
,
CustomView(Context context, AttributeSet attrs, int defStyle)
这些类型的构造函数。
如果您的自定义视图属于第三方库,那么您只能通过Java代码添加默认构造函数,如new CustomView();