8

I am making a widget in which you can specify the text size

controles.setTextViewTextSize(R.id.LblMsg, TypedValue.COMPLEX_UNIT_SP, textSize);

I am working with android 4.1

android:minSdkVersion="8" android:targetSdkVersion="16"

The problem is that it works correctly in android 4.1, but in any other version (ICS, gingerbread, etc) shows a forced close.

java.lang.NoSuchMethodError: android.widget.RemoteViews.setTextViewTextSize

If I remove the line of code where it is used "setTextViewTextSize", the application works perfectly.

I find no information about the reason for this error.

I appreciate any help.

Regards

Sergio76
  • 3,835
  • 16
  • 61
  • 88

3 Answers3

7

if you wish to use something that works on all versions, use this:

remoteViews.setFloat(R.id.textView,"setTextSize",fontSize);
android developer
  • 114,585
  • 152
  • 739
  • 1,270
4

This method is only available since API level 16 (android 4.1) : http://developer.android.com/reference/android/widget/RemoteViews.html#setTextViewTextSize(int, int, float)

sdabet
  • 18,360
  • 11
  • 89
  • 158
1

I did this

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
   remoteViews.setTextViewTextSize(R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f);
}
Archimedes Trajano
  • 35,625
  • 19
  • 175
  • 265
  • this solutions works but don't forget that last param is `float` - so we must use `f` at the end, it will be like: `remoteViews.setTextViewTextSize(R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f);` – Choletski Jan 27 '16 at 14:18