2016-11-28 2 views
1

Mon application Android TV fonctionne très bien avec ces versions:Mise à niveau de version à 25.0.1 provoque guidedStepFragment crash

compile 'com.android.support:support-v4:23.2.1' 
compile 'com.android.support:preference-leanback-v17:23.2.1' 
compile 'com.android.support:leanback-v17:23.2.1' 

Mais une fois que je les mettre à jour à:

compile 'com.android.support:support-v4:25.0.1' 
compile 'com.android.support:preference-leanback-v17:25.0.1' 
compile 'com.android.support:leanback-v17:25.0.1' 

Je vois un à chaque fois que l'accident J'ouvre un guidedStepFragment. Voici les journaux crash:

java.lang.RuntimeException: Impossible de démarrer l'activité ComposantInfo {...}: android.view.InflateException: fichier XML binaire ligne # 18: float non valide: « 2130772240 " à android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2416) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) à android.app.ActivityThread.-wrap11 (ActivityThread.java) at android.app.ActivitéThread $ H.han dleMessage (ActivityThread.java:1344) à android.os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:148) at android.app.ActivityThread.main (ActivityThread.java:5422) à java.lang.reflect.Method.invoke (native Method) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) à com.android. internal.os.ZygoteInit.main (ZygoteInit.java:616) Causé par: android.view.InflateException: ligne de fichier XML binaire # 18: Flottant invalide: "? 2130772240" à android.view.LayoutInflater.inflate (LayoutInflater.java:539) à android.view.LayoutInflater.inflate (LayoutInflater.java:423) à android.support.v17.leanback.widget.GuidedActionsStylist.onCreateView (GuidedActionsStylist. java: 409) à android.support.v17.leanback.app.GuidedStepFragment.onCreateView (GuidedStepFragment.java:1044) à android.app.Fragment.performCreateView (Fragment.java:2220) à android.app. FragmentManagerImpl.moveToState (FragmentManager.java:973) at android.app.FragmentManagerImpl.moveToState (Fragmen tManager.java:1148) à android.app.BackStackRecord.run (BackStackRecord.java:793) à android.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1535) à android.app.FragmentController.execPendingActions (FragmentController.java:325) à android.app.Activity.performStart (Activity.java:6267) à android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2379) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) à android.app. ActivityThread.-wrap11 (ActivityThread.java) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) at android.os.Handler.DispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:148) à android.app.ActivityThread.main (ActivityThread.java:5422)

Les plantages de l'application tout en créer une vue (onCreateView) pour guidedStepFragment.

Des idées sur la façon de résoudre ce problème?

+0

Avez-vous essayé de nettoyer et reconstruire le projet? – ULazdins

+0

Passé à 25.0.1 hier. N'a pas encore eu de problèmes –

Répondre

0

Vous pouvez vérifier Adding a Guided Step dans lequel il est mentionné l'utilisation de android.support.v17.leanback.app qui prend en charge les classes pour créer des expériences utilisateur Leanback. Comme mentionné dans la documentation,

Leanback contient un mélange de blocs de construction de niveau supérieur tels que des fragments dans l'emballage android.support.v17.leanback.app. Les exemples notables sont le BrowseFragment et le GuidedStepFragment.

Et, en plus de cela, ces références pourraient aussi aider:

1

Dans mon cas, je me sers de mon propre style personnalisé pour GuidedStepFragment que hérite de Theme.LeanbackBase. Au lieu de cela, j'ai fait hériter mon style personnalisé de Theme.Leanback.GuidedStep. Ce changement a résolu mon problème.

0

Ceci est dû à l'incompatibilité de l'activité de la version de bibliothèque de support de moins de 17 avec GuidedStepFragment de la bibliothèque de support "android.support.v17.leanback".

utilisation Activité de la "android.app.Activity":

import android.app.Activity; 
import android.os.Bundle; 
import android.support.v17.leanback.app.GuidedStepFragment; 

public class YourActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (savedInstanceState == null) { 
      GuidedStepFragment.addAsRoot(
       this, new YourGuidedStepFragment(), android.R.id.content 
      ); 
     } 
    } 
} 

Utilisez également Theme.Leanback pour votre activité:

<manifest...> 
    <application...> 
     <activity 
      android:name=".YourActivity" 
      android:theme="@style/Theme.Leanback" 
     /> 
    </application> 
</manifest>