【问题标题】:Caused by java.lang.IllegalStateException EmojiCompat is not initialized , library androidx.emoji.widget.EmojiTextView由 java.lang.IllegalStateException 引起的 EmojiCompat 未初始化,库 androidx.emoji.widget.EmojiTextView
【发布时间】:2020-11-11 22:38:45
【问题描述】:

我自己没有经历过这种崩溃,但当我检查 Firebase Crashlytics 时,一些用户确实得到了它。

Firebase 中的错误:

由 java.lang.IllegalStateException 引起 EmojiCompat 未初始化。请先调用 EmojiCompat.init() com.app.myapp.UserActivity.onCreate

致命异常:java.lang.RuntimeException 无法启动活动 ComponentInfo{com.app.myapp/com.app.myapp.UserActivity}:android.view.InflateException:二进制 XML 文件行#429:二进制 XML 文件行#429:膨胀类 androidx.emoji.widget 时出错。 EmojiTextView

这是 xml 中的 #429 行

                <androidx.emoji.widget.EmojiTextView
                    android:id="@+id/user_description"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:maxLines="12"
                    android:paddingTop="40dp"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:paddingBottom="40dp"
                    android:textAlignment="center"
                    android:textColor="@color/black" />

我也有这个就在 setContentView(R.layout.activity_user); 的正下方在 Oncreate 内部

        FontRequest fontRequest = new FontRequest(
                "com.google.android.gms.fonts",
                "com.google.android.gms",
                "Noto Color Emoji Compat",
                R.array.com_google_android_gms_fonts_certs);
        EmojiCompat.Config config = new FontRequestEmojiCompatConfig(this, fontRequest);
        EmojiCompat.init(config);

有什么想法吗?

【问题讨论】:

    标签: android illegalstateexception


    【解决方案1】:

    application 类或setContentView 之前初始化这个库

    onCreate(){
    FontRequest fontRequest = new FontRequest(
                    "com.google.android.gms.fonts",
                    "com.google.android.gms",
                    "Noto Color Emoji Compat",
                    R.array.com_google_android_gms_fonts_certs);
            EmojiCompat.Config config = new FontRequestEmojiCompatConfig(this, fontRequest);
            EmojiCompat.init(config);
    setContentView(R.layout.activity_user) // set after initializing
    
    }
    

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 2020-08-16
      • 1970-01-01
      • 2019-01-05
      • 2020-10-07
      • 2015-02-19
      • 1970-01-01
      • 2021-11-11
      • 2019-09-25
      相关资源
      最近更新 更多