设置文本外观时没有此类方法错误

时间:2017-01-10 11:12:25

标签: android nosuchmethoderror

我正在使用以下代码将字体大小更改为中等或高或小。 getFontSize()将返回任何这些尺寸

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
     holder.title.setTextAppearance(new AppController().getFontSize());
 else
     holder.title.setTextAppearance(mContext, new AppController().getFontSize());

但我得到以下错误:

java.lang.NoSuchMethodError: No virtual method setTextAppearance(I)V in class Landroid/widget/TextView; or its super classes (declaration of 'android.widget.TextView' appears in /system/framework/framework.jar)

为什么我会收到这样的错误?

1 个答案:

答案 0 :(得分:4)

TextView::setTextAppearance需要一个整数值,用于标识项目中的样式资源(如@android:style/TextAppearance.Material.Body1)。 如果这是你的意图,那么请确保你的getFontSize()方法返回一个有效的ID。

但是,我想,你实际上是在尝试设置字体大小,应该使用TextView的setTextSize(float size)方法来完成。