java - android.view.InflateException:二进制 XML 文件第 10 行
问题描述
我正在尝试使用Yasic库创建粒子文本视图动画,但是当我在物理设备上运行我的代码时,我得到了 inflate 异常错误。我还没有弄清楚这个问题,如果你告诉我一些解决这个错误的方法,那将是一个很大的帮助。
这是我的java代码
爪哇
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
ParticleTextView particleTextView1 = (ParticleTextView) findViewById(R.id.particleTextView1);
ParticleTextViewConfig config1 = new ParticleTextViewConfig.Builder()
.setTargetText("Loading")
.setReleasing(0.4)
.setParticleRadius(4)
.setMiniDistance(1)
.setTextSize(150)
.setRowStep(9)
.setColumnStep(9)
.instance();
particleTextView1.setConfig(config1);
particleTextView1.startAnimation();
}
}
Logcat 错误在这里
日志猫
09-18 22:31:52.809 7418-7418/com.codecrafted.udit.particle E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codecrafted.udit.particle, PID: 7418
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.codecrafted.udit.particle/com.codecrafted.udit.particle.MainActivity}: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class com.yasic.library.particletextview.View.ParticleTexView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2747)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2808)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6365)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
Caused by: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class com.yasic.library.particletextview.View.ParticleTexView
Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class com.yasic.library.particletextview.View.ParticleTexView
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yasic.library.particletextview.View.ParticleTexView" on path: DexPathList[[zip file "/data/app/com.codecrafted.udit.particle-2/base.apk"],nativeLibraryDirectories=[/data/app/com.codecrafted.udit.particle-2/lib/arm64, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:812)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
at android.view.LayoutInflater.inflate(LayoutInflater.java:522)
at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.codecrafted.udit.particle.MainActivity.onCreate(MainActivity.java:38)
at android.app.Activity.performCreate(Activity.java:6852)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2700)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2808)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6365)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
解决方案
ParticleTextView
首先在onCreate()
方法中初始化。
private ParticleTextView particleTextView1
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
particleTextView1 = (ParticleTextView) findViewById(R.id.particleTextView1);
}
然后在你的 xml 中,确保它开始于:
<com.yasic.library.particletextview.View.ParticleTextView
我猜想在onResume()
方法中初始化视图可能会导致这个问题,因为它可能不会在第一次运行时在onCreate()
方法中创建。
推荐阅读
- angular - “未定义”对象属性
- reactjs - React Server 端渲染(renderToString failed):window is not defined
- python - Windows 错误 2 Python 找不到我的文件
- ios - 具有多个链接的 UITextField
- python - 创建具有多个轴(不是双轴)的烛台图
- javascript - VAST 跟踪事件
- javascript - GraphQL:从对象构建查询参数
- html - 如何将在 Chrome 中打开的 html 中的链接(链接)打开到 Internet Explorer 中?
- c++ - 这个 std::set 初始化是如何工作的?
- javascript - 更改地图中的标记