我应该如何在android布局中使用jar库?
我成功地在代码中创建了jar库,但它在xml文件中调用我应该如何在android布局中使用jar库?,android,android-layout,android-xml,android-graphview,Android,Android Layout,Android Xml,Android Graphview,我成功地在代码中创建了jar库,但它在xml文件中调用 06-08 18:55:23.715: E/AndroidRuntime(13218): java.lang.RuntimeException: Unable to start activity ComponentInfo: android.view.InflateException: Binary XML file line #6: Error inflating class android.jar.com.jjoe64.graphvi
06-08 18:55:23.715: E/AndroidRuntime(13218): java.lang.RuntimeException: Unable to start activity ComponentInfo: android.view.InflateException: Binary XML file line #6: Error inflating class android.jar.com.jjoe64.graphview.BarGraphView
例外。
jar文件在这里
06-08 19:46:22.023:E/AndroidRuntime(19764):致命异常:主
06-08 19:46:22.023:E/AndroidRuntime(19764):java.lang.RuntimeException:无法启动活动组件信息{com.zxl.timeline/com.zxl.timeline.ui.coulumAllInfo}:android.view.InflateException:二进制XML文件行#6:膨胀类com.jjoe64.graphview.BarGraphView时出错
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
06-08 19:46:22.023:E/AndroidRuntime(19764):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2357)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.app.ActivityThread.access$600(ActivityThread.java:153)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.os.Handler.dispatchMessage(Handler.java:99)上
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.os.Looper.loop(Looper.java:137)
06-08 19:46:22.023:E/AndroidRuntime(19764):位于android.app.ActivityThread.main(ActivityThread.java:5226)
06-08 19:46:22.023:E/AndroidRuntime(19764):位于java.lang.reflect.Method.Invokenactive(本机方法)
06-08 19:46:22.023:E/AndroidRuntime(19764):在java.lang.reflect.Method.invoke(Method.java:511)
06-08 19:46:22.023:E/AndroidRuntime(19764):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
06-08 19:46:22.023:E/AndroidRuntime(19764):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
06-08 19:46:22.023:E/AndroidRuntime(19764):在dalvik.system.NativeStart.main(本机方法)
06-08 19:46:22.023:E/AndroidRuntime(19764):由以下原因引起:android.view.InflateException:二进制XML文件行#6:对类com.jjoe64.graphview.BarGraphView进行膨胀时出错
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.createView(LayoutInflater.java:596)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.inflate(LayoutInflater.java:489)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.inflate(LayoutInflater.java:352)
06-08 19:46:22.023:E/AndroidRuntime(19764):位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
06-08 19:46:22.023:E/AndroidRuntime(19764):位于android.app.Activity.setContentView(Activity.java:1881)
06-08 19:46:22.023:E/AndroidRuntime(19764):在com.zxl.timeline.ui.coulumallinfo.onCreate(coulumallinfo.java:39)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.app.Activity.performCreate(Activity.java:5104)上
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)上
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261)上
06-08 19:46:22.023:E/AndroidRuntime(19764):。。。还有11个
06-08 19:46:22.023:E/AndroidRuntime(19764):由以下原因引起:java.lang.NoSuchMethodException:[类android.content.Context,接口android.util.AttributeSet]
06-08 19:46:22.023:E/AndroidRuntime(19764):在java.lang.Class.getConstructorOrMethod(Class.java:460)中
06-08 19:46:22.023:E/AndroidRuntime(19764):在java.lang.Class.getConstructor(Class.java:431)
06-08 19:46:22.023:E/AndroidRuntime(19764):在android.view.LayoutInflater.createView(LayoutInflater.java:561)
06-08 19:46:22.023:E/AndroidRuntime(19764):。。。还有22个
@jjoe64您试图在布局文件中使用的
视图
需要实现双参数构造函数,该构造函数采用上下文
和属性集
,因为这是布局充气器使用的构造函数。您的视图没有,因此不能在布局XML资源中使用它。创建文件夹
自由基
在项目中添加jar文件
右键单击该jar文件
-->生成路径-->添加到生成路径
@当然可以。我可以在我的代码中调用它。@amal你误解了我的问题。我的意思是我不能在xml文件中使用jar。并且我成功导入到我的项目中。请发布整个堆栈跟踪。@Commonware整个堆栈跟踪意味着所有错误的信息?但是BarGraphView从GraphView扩展而非View类,因此它无法实现构造函数。@ivanchou:GraphView本身继承自View
(直接或间接),或者不是。如果是这样,您可以实现构造函数,尽管您可能还需要修改GraphView
。如果GraphView
不是从视图继承的(直接或间接),那么它就不能用于Android中的布局资源或任何类型的基于视图的UI。我在github上找到了另一个GraphView,它是从lib扩展而来的,并实现了您所说的构造函数。但是仍然不能工作。链接“06-08 21:56:03.293:E/AndroidRuntime(9683):由以下原因引起:android.view.InflateException:二进制XML文件行#6:错误膨胀类com.kusand.graphview.BarGraphView”
06-08 19:46:22.023: E/AndroidRuntime(19764): FATAL EXCEPTION: main
06-08 19:46:22.023: E/AndroidRuntime(19764): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zxl.Timetable/com.zxl.Timetable.ui.CurriculumAllInfo}: android.view.InflateException: Binary XML file line #6: Error inflating class com.jjoe64.graphview.BarGraphView
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2357)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.ActivityThread.access$600(ActivityThread.java:153)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.os.Handler.dispatchMessage(Handler.java:99)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.os.Looper.loop(Looper.java:137)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.ActivityThread.main(ActivityThread.java:5226)
06-08 19:46:22.023: E/AndroidRuntime(19764): at java.lang.reflect.Method.invokeNative(Native Method)
06-08 19:46:22.023: E/AndroidRuntime(19764): at java.lang.reflect.Method.invoke(Method.java:511)
06-08 19:46:22.023: E/AndroidRuntime(19764): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
06-08 19:46:22.023: E/AndroidRuntime(19764): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
06-08 19:46:22.023: E/AndroidRuntime(19764): at dalvik.system.NativeStart.main(Native Method)
06-08 19:46:22.023: E/AndroidRuntime(19764): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class com.jjoe64.graphview.BarGraphView
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.createView(LayoutInflater.java:596)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
06-08 19:46:22.023: E/AndroidRuntime(19764): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.Activity.setContentView(Activity.java:1881)
06-08 19:46:22.023: E/AndroidRuntime(19764): at com.zxl.Timetable.ui.CurriculumAllInfo.onCreate(CurriculumAllInfo.java:39)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.Activity.performCreate(Activity.java:5104)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261)
06-08 19:46:22.023: E/AndroidRuntime(19764): ... 11 more
06-08 19:46:22.023: E/AndroidRuntime(19764): Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.AttributeSet]
06-08 19:46:22.023: E/AndroidRuntime(19764): at java.lang.Class.getConstructorOrMethod(Class.java:460)
06-08 19:46:22.023: E/AndroidRuntime(19764): at java.lang.Class.getConstructor(Class.java:431)
06-08 19:46:22.023: E/AndroidRuntime(19764): at android.view.LayoutInflater.createView(LayoutInflater.java:561)
06-08 19:46:22.023: E/AndroidRuntime(19764): ... 22 more