2011-03-08 2 views
4

J'ai une activité principale qui contient le menu principal. Ce menu a une option pour démarrer une seconde activité, qui est une descendante SurfaceView.Ligne de fichier XML binaire occasionnelle #XX: Erreur lors du gonflement de la classe <unknown>

Je reçois cette erreur plusieurs fois, mais pas toujours. Je dois effectuer le processus d'appel de la deuxième activité via le bouton de menu de la première activité, puis revenir à la première activité. Finalement (Généralement sur la 7ème répétition), l'erreur se produit lorsque le 2ème. l'activité est lancée. Hors du débogueur, l'écran du téléphone devient noir et est bloqué pendant environ 30 secondes ou plus, puis je vois la boîte de dialogue pour le fermer. Dans le débogueur, l'application s'arrête sur cette exception.

Mon fichier de mise en page pour la deuxième activité est la suivante:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <com.myapp.MySecActivity 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:id="@+id/sec_view"/> 

</FrameLayout> 

J'ai une classe MySecActivity, avec des charges de cette disposition sur le constructeur. J'ai compris que j'obtiens un InflateException sur setContentView. Je vérifie l'identifiant que je passe à setContentView et c'est la même, non nul, sur toutes les conditions:

int id = getResources().getIdentifier("mylayout", "layout", getPackageName()); 

if (id<= 0) { 
    id= 0; // just for debugging 
} else { 
    try { 
     setContentView(id); 
    } catch (InflateException e) { 
     error = true; 
    } 
} 

Répondre

3

Vous devez avoir le prélude <?xml .. ?> ainsi que configurer votre espace de noms XML. Est-ce que tu fais ça?

<?xml version="1.0" encoding="utf-8"?> 
<com.myapp.MySecActivity 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    ... 

Si com.myapp.MySecActivity est pas votre élément racine, puis essayez de coller votre mise en page entière si vous nous feriez à regarder.

Questions connexes