2012-08-28 14 views
8

Sto facendo un widget in cui è possibile specificare la dimensione del testoCrash setTextViewTextSize in un widget solo senza Jelly Bean

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

Sto lavorando con Android 4,1

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

Il problema è che funziona correttamente in Android 4.1, ma in qualsiasi altra versione (ICS, gingerbread, ecc.) mostra una chiusura forzata.

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

Se rimuovo la riga di codice in cui viene utilizzato "setTextViewTextSize", l'applicazione funziona perfettamente.

Non ho trovato alcuna informazione sul motivo di questo errore.

Apprezzo qualsiasi aiuto.

saluti

risposta

1

ho fatto questo

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
    remoteViews.setTextViewTextSize(R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f); 
} 
+0

questa soluzione funziona ma non dimenticare che l'ultimo parametro è ' float' - quindi dobbiamo usare 'f' alla fine, sarà come: ' remoteViews.setTextViewTextSize (R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f); ' – Choletski

6

se si desidera utilizzare qualcosa che funziona su tutte le versioni, utilizzare questo:

remoteViews.setFloat(R.id.textView,"setTextSize",fontSize); 
Problemi correlati