错误获取Font Landroid/content/Context; ILandroid/util/TypedValue

Huỳ*_*Tín 10 java android

我的项目有问题.我不知道如何解决它.这是我第一次遇到它.

/ UncaughtException:java.lang.NoSuchMethodError:没有静态方法getFont(Landroid/content/Context; ILandroid/util/TypedValue; ILandroid/widget/TextView;)Landroid/graphics/Typeface; 在课堂上Landroid/support/v4/content/res/ResourcesCompat; 或其超级类('android.support.v4.content.res.ResourcesCompat'的声明出现在/data/app/codes.trongtin.h.besttrip-2/split_lib_dependencies_apk.apk:classes2.dex)

小智 21

您似乎正在使用支持依赖项.只需检查您的应用程序gradle,您的构建工具版本与支持版本相同.

例如:

android {
...
    buildToolsVersion "26.0.2"
...
}
Run Code Online (Sandbox Code Playgroud)

dependencies {
...
    compile 'com.android.support:support-v4:26.0.2'
    compile 'com.android.support:appcompat-v7:26.0.2'
    compile 'com.android.support:recyclerview-v7:26.0.2'
    compile 'com.android.support:support-v13:26.0.2'
...
}
Run Code Online (Sandbox Code Playgroud)

必须具有相同的版本.

它对我有用!


Dhe*_*ani 6

只需更改complieSdkVersion,buildToolsVersion和appCompat依赖项.

      compileSdkVersion 27
      buildToolsVersion '27.0.0'

      implementation 'com.android.support:appcompat-v7:27.0.2'
Run Code Online (Sandbox Code Playgroud)


jom*_*rge 0

由于您正在使用支持库,因此请使用 ResourcesCompat

Typeface typeFace= ResourcesCompat.getFont(getActivity(),R.font.roboto);
Run Code Online (Sandbox Code Playgroud)

这将解决您的问题。

如果你想支持 api 级别 26 及以上,你可以使用

Typeface typeface = getResources().getFont(R.font.myfont);
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

16048 次

最近记录:

7 年,10 月 前