有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

膨胀二进制XML文件时发生java错误

我正在尝试用xml扩展自定义类(scrollView),然后这个错误显示有人能解释一下我的代码是怎么回事吗

我试图在特定的滚动点禁用滚动,然后再次启用它

  partnerScrollView = (LockableScrollView) findViewById(R.id.partnerScrollView);


  <com.mibag.utils.LockableScrollView
        安卓:id="@+id/partnerScrollView"
        安卓:layout_width="match_parent"
        安卓:layout_height="match_parent"
        安卓:fillViewport="true" >

    </com.mibag.utils.LockableScrollView>



 08-09 15:38:03.270: E/AndroidRuntime(22013): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mibag/com.mibag.PartnerListDetail_Activity}: 安卓.view.InflateException: Binary XML file line #9: Error inflating class com.mibag.utils.LockableScrollView
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2345)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.ActivityThread.access$800(ActivityThread.java:149)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1324)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.os.Handler.dispatchMessage(Handler.java:102)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.os.Looper.loop(Looper.java:211)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.ActivityThread.main(ActivityThread.java:5317)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at java.lang.reflect.Method.invoke(Native Method)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at java.lang.reflect.Method.invoke(Method.java:372)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:811)
    08-09 15:38:03.270: E/AndroidRuntime(22013): Caused by: 安卓.view.InflateException: Binary XML file line #9: Error inflating class com.mibag.utils.LockableScrollView
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.createView(LayoutInflater.java:616)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:504)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:414)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:365)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at com.安卓.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:381)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.Activity.setContentView(Activity.java:2144)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at com.mibag.PartnerListDetail_Activity.onCreate(PartnerListDetail_Activity.java:201)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.Activity.performCreate(Activity.java:5933)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    ... 10 more
    08-09 15:38:03.270: E/AndroidRuntime(22013): Caused by: java.lang.NoSuchMethodException: <init> [class 安卓.content.Context, interface 安卓.util.AttributeSet]
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at java.lang.Class.getConstructor(Class.java:531)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at java.lang.Class.getConstructor(Class.java:495)
    08-09 15:38:03.270: E/AndroidRuntime(22013):    at 安卓.view.LayoutInflater.createView(LayoutInflater.java:580)

共 (1) 个答案

  1. # 1 楼答案

    我确实解决了它,它是在这行: 08-09 15:38:03.270:E/AndroidRuntime(22013):由java引起。lang.NoSuchMethodException:[类android.content.Context,接口android.util.AttributeSet] 我必须在自定义类中添加此构造函数

    public LockableScrollView(Context context, AttributeSet attrs,
            int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        // TODO Auto-generated constructor stub
    }