- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 android studio 3.5 来熟悉 android XYPlot。我首先测试了几个例子,最后得到了同样的错误 - Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.androidplot.xy.XYPlot
然后应用程序崩溃。
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.androidplot.xy.XYPlot
我真的很感激任何解决这个问题的建议。谢谢你!
我做了什么:下面显示了我尝试过的示例之一 ( this ) 的 logcat 输出。我用 XYPlot 库更新了 Gradle,而且正如我在搜索时注意到的那样,我也想更新 ProGuard。最后还提到了更新的 ProGuard。
main_activity.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.androidplot.xy.XYPlot
android:id="@+id/mySimpleXYPlot"
androidplot.gridPadding="4dp|4dp|4dp|4dp"
androidplot.ticksPerDomainLabel="2"
androidplot.ticksPerRangeLabel="4"
andsroidplot.title="A Simple XYPlot Example"
android:layout_width="fill_parent"
android:layout_height="527dp"
android:layout_marginLeft="10px"
android:layout_marginTop="10px"
android:layout_marginRight="10px" />
</LinearLayout>
主要 Activity
package com.example.plot_testmy2;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.androidplot.xy.LineAndPointFormatter;
import com.androidplot.xy.SimpleXYSeries;
import com.androidplot.xy.XYPlot;
import com.androidplot.xy.XYSeries;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity {
private XYPlot plot;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initialize our XYPlot reference:
plot = (XYPlot) findViewById(R.id.mySimpleXYPlot);
// add a new series
XYSeries mySeries = new SimpleXYSeries(
Arrays.asList(0, 25, 55, 2, 80, 30, 99, 0, 44, 6),
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "series1");
plot.addSeries(mySeries, new LineAndPointFormatter(
getApplicationContext(), R.xml.f1));
/*commented
// reposition the domain label to look a little cleaner:
plot.position(plot.getDomainLabelWidget(), // the widget to position
45, // x position value, in this case 45 pixels
XLayoutStyle.ABSOLUTE_FROM_LEFT, // how the x position value is applied, in this case from the left
0, // y position value
YLayoutStyle.ABSOLUTE_FROM_BOTTOM, // how the y position is applied, in this case from the bottom
AnchorPosition.LEFT_BOTTOM); // point to use as the origin of the widget being positioned
*/
plot.centerOnRangeOrigin(60);
plot.centerOnDomainOrigin(5);
}
}
Logcat 输出:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.plot_testmy2, PID: 29804
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.plot_testmy2/com.example.plot_testmy2.MainActivity}: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.androidplot.xy.XYPlot
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.androidplot.xy.XYPlot
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.androidplot.xy.XYPlot
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.example.plot_testmy2.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.RuntimeException: com.halfhp.fig.FigException: Error while parsing key: ticksPerDomainLabel value: 2
at com.androidplot.Plot.loadAttrs(Plot.java:563)
at com.androidplot.Plot.init(Plot.java:403)
at com.androidplot.Plot.<init>(Plot.java:324)
at com.androidplot.xy.XYPlot.<init>(XYPlot.java:143)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.example.plot_testmy2.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: com.halfhp.fig.FigException: Error while parsing key: ticksPerDomainLabel value: 2
at com.halfhp.fig.Fig.configure(Fig.java:300)
at com.halfhp.fig.Fig.configure(Fig.java:208)
at com.androidplot.Plot.loadAttrs(Plot.java:561)
at com.androidplot.Plot.init(Plot.java:403)
at com.androidplot.Plot.<init>(Plot.java:324)
at com.androidplot.xy.XYPlot.<init>(XYPlot.java:143)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.example.plot_testmy2.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.NoSuchMethodException: No such public method (case insensitive): setticksPerDomainLabel in class com.androidplot.xy.XYPlot
at com.halfhp.fig.Fig.getMethodByName(Fig.java:110)
at com.halfhp.fig.Fig.getSetter(Fig.java:116)
at com.halfhp.fig.Fig.configure(Fig.java:274)
at com.halfhp.fig.Fig.configure(Fig.java:208)
at com.androidplot.Plot.loadAttrs(Plot.java:561)
at com.androidplot.Plot.init(Plot.java:403)
at com.androidplot.Plot.<init>(Plot.java:324)
at com.androidplot.xy.XYPlot.<init>(XYPlot.java:143)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.example.plot_testmy2.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
梯度:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.plot_testmy2"
minSdkVersion 22
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation "com.androidplot:androidplot-core:1.5.7"
}
混淆器:
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-keep class com.androidplot.**{*;}
最佳答案
由以下原因引起:java.lang.RuntimeException:com.halfhp.fig.FigException:解析键时出错:ticksPerDomainLabel值:2
<com.androidplot.xy.XYPlot
android:id="@+id/mySimpleXYPlot"
androidplot.gridPadding="4dp|4dp|4dp|4dp"
androidplot.ticksPerDomainLabel="2" <--- this line is causing the problem
androidplot.ticksPerRangeLabel="4"
andsroidplot.title="A Simple XYPlot Example"
android:layout_width="fill_parent"
android:layout_height="527dp"
android:layout_marginLeft="10px"
android:layout_marginTop="10px"
android:layout_marginRight="10px" />
删除这些:
androidplot.gridPadding="4dp|4dp|4dp|4dp"
androidplot.ticksPerDomainLabel="2" <--- this line is causing the problem
androidplot.ticksPerRangeLabel="4"
andsroidplot.title="A Simple XYPlot Example"
它应该可以工作。
我从未见过 XML 属性上的点属性,它应该是下划线 (_) 或什么都没有
这些都是可能的Attributes这个观点接受。
上面列出的内容都没有写在那里,它们只是不存在。
关于java - 使用 XYPlot 时如何解决问题 'Binary XML file line #8: Binary XML file line #8: Error inflating class com.androidplot.xy.XYPlot',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59993903/
一、前言: Python如何使用OS模块调用cmd 在os模块中提供了两种调用 cmd 的方法,os.popen() 和 os.system() os.system(cmd) 是在执行command命
我对双链表进行了简化。我的双链表是一个以头和尾为节点的结构。 有一个函数可以创建列表并返回它。在同一函数中,我执行尾节点和头节点之间的链接。问题是,当我返回列表(因此转到函数之外)时,所有链接都消失了
我有这个信息。 let params2: [String: AnyObject] = [ "app_token": myapptoken, "member_access_token":
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
我正在尝试发出解析为特定 IP 的 cURL 请求。从我读过的所有内容来看,这在我看来在语法上是正确的,但我仍然看到“无法解决主机错误”。有人能指出我正确的方向吗?我看到了各种错误: curl —-r
我正在尝试使用 curl 在 jira 服务器中获取数据。我试过这个命令 curl -u username:password -X GET -H "Content-Type: applicat
因此,下面的代码有时会起作用,有时它会添加&符号(到复制缓冲区),我试图从文本字符串中删除它。 代码的要点是将字符串从正确位置复制到与号之前。但是,在随机情况下,它仍然会添加 & 符号。 Privat
p = Int('p') q = Int('q') s = Solver() s.add(1<=p<=9, 1<=q<=19, 5<(3*p-4*q)<10) s.check() print s.mo
我在这里阅读了分配问题的解决方案:http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=hungarianAlgorithm 我了解 O(n
控制台中显示警告: the id param was not provided. 文档提到将使用当前路由: current is the current Route by default (most
我正在尝试使用hector-core作为grails Maven构建中的依赖项。 me.prettyprint hector-core 1.0-3 bundle 我收到一个错误 [
我正在尝试使用 JavaScript 变得更好,并且我在破坏页面方面做得非常好:))))) 我正在尝试使用 Firebug 进行调试,但一开始有点困惑。它的哪个选项卡用于调试 JavaScript?我
我正在使用最新的 Angular + Firebase 并尝试设置登录授权系统。我有包含登录+注册链接的 home.html,转到 login.html 并添加凭据工作正常(提交时记录正确的 UID)
我有一个 iPad 应用,现在需要将其转换为通用应用。我已将目标设置为 Universal,现在它也可以部署到 iPhone,但是,我有一个主要问题:即使我已经创建了我的 main分别查看两种设备类型
我在 CSS 中使用媒体查询来根据 IE11 和 Chrome 的屏幕分辨率缩放我的网页。当我运行 this webpage在我的 2 个不同屏幕上的 chrome(顺便说一句,我用它来确定我的最小宽
我正在解决nodeschool练习“Juggling Async”,我是这样解决的 var http=require("http"); var urls=process.argv.slice(2,pr
我试图相对神秘地要求一个文件,发生了以下情况 这很好,它指向 /Users/marcos/Desktop/Taper/lib/utils.js myPath = "/Users/marcos/Desk
我正在尝试解决一个项目,但遇到了问题。 • 您的程序应该显示一个菜单,允许用户执行以下操作以下操作(注:使用GUI): 添加新客户 删除客户 修改客户信息//此选项必须显示子菜单: --------1
我需要 x 图标来删除输入字段值1. 当用户键入任何内容时,将显示“x”图标 如果输入框中没有可用的值,x 将被隐藏 当输入框中的值可用并且焦点移出输入框时,我们需要隐藏 x 图标并聚焦,我们需要再次
我正在使用 ajs(1.4.7) 和 angular-ui-router(0.2.15) 开发一个简单的 AJS 应用程序。 经历了this文章并选择了路由解析技术。 这是我遇到的错误 错误:[$in
我是一名优秀的程序员,十分优秀!