设置文本外观时没有此类方法错误
No such method error while setting text appearance
我正在使用以下代码将字体大小更改为中、高或小。 getFontSize()
将 return 这些尺寸中的任何一个
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)
为什么我会收到这样的错误?
TextView::setTextAppearance
需要一个整数值,用于标识项目中的样式资源(如 @android:style/TextAppearance.Material.Body1
)。
如果这是您的意图,那么请确保您的 getFontSize() 方法 returns 是一个有效的 ID。
但是,我想,您实际上是在尝试设置字体大小,这应该使用 TextView 的 setTextSize(float size)
方法来完成。
我正在使用以下代码将字体大小更改为中、高或小。 getFontSize()
将 return 这些尺寸中的任何一个
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)
为什么我会收到这样的错误?
TextView::setTextAppearance
需要一个整数值,用于标识项目中的样式资源(如 @android:style/TextAppearance.Material.Body1
)。
如果这是您的意图,那么请确保您的 getFontSize() 方法 returns 是一个有效的 ID。
但是,我想,您实际上是在尝试设置字体大小,这应该使用 TextView 的 setTextSize(float size)
方法来完成。