Binaire fichier XML ligne n ° 9: Erreur de gonflage de classe fragment
Suis d'Erreur inflating fragment error while running calling an Activity which having fragments.
Liste de contrôle est une Activité qui contient listview and Description fragments.
et son code xml est:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="match_parent">
<fragment class="com.uday.honeytest.CheckList$listview"
android:id="@+id/titles" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
<fragment class="com.uday.honeytest.CheckList$Description"
android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent"
android:background="?android:attr/detailsElementBackground" />
</LinearLayout>
Liste de vérification de la classe est:
public class CheckList extends Activity {
static int position=0;
static CheckList check;
public void onCreate(Bundle saved){
super.onCreate(saved);
setContentView(R.layout.checklist);
}
public static class listview extends ListFragment {
View mConverView;
String[] items;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
xxxxxx..
return mConverView;
}
}
de la même façon que j'ai de la Description fragment ci-dessous .
Mais je suis arriver
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uday.honeytest/com.uday.honeytest.CheckList}: android.view.InflateException: Binary XML file line #9: Error inflating class fragment
erreur à setContentView ligne.
et ma Description fragment de la classe est: Édité:
public static class Description extends Fragment {
View mConverView;
String details[];
public static Description getInstance() {
Description desc=new Description();
return desc;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textview=new TextView(getActivity());
textview.setLayoutParams(new LayoutParams(MarginLayoutParams.WRAP_CONTENT, MarginLayoutParams.WRAP_CONTENT));
return textview;
}
}
Ce fais de mal??
Grâce
Vous devriez vraiment écrire votre Description classe code.
De vérifier ma Description fragment de classe édité : qui est dans la Liste de contrôle de l'Activité.
J'ai essayé cet exemple ici: vogella.com/articles/Android/article.html#fragments et j'ai eu 2 problèmes: - je besoin pour utiliser
De vérifier ma Description fragment de classe édité : qui est dans la Liste de contrôle de l'Activité.
J'ai essayé cet exemple ici: vogella.com/articles/Android/article.html#fragments et j'ai eu 2 problèmes: - je besoin pour utiliser
android.support.v4.app
et pas android.app.Fragment
parce que je suis en cours d'exécution en vertu de l'API de niveau 8 (Android introduit des fragments dans Android 3.0 (API level 11)) - android:layout_marginTop="?android:attr/actionBarSize"
dans le fragment de déclaration n'est pas compatible avec l'API de niveau 8 - voir stackoverflow.com/questions/7760817/...
OriginalL'auteur Udaykiran | 2011-08-23
Vous devez vous connecter pour publier un commentaire.
Votre Liste d'activités devrait s'étendre FragmentActivity .
OriginalL'auteur spin.goran
<fragment class="com.uday.honeytest.CheckList$Description"
est où il se fait l'erreur.Êtes-vous sûr que vous avez le nom de classe entièrement qualifié tapé correctement?
Avez-vous essayé le nettoyage de votre projet/fixation propriétés du projet?
Je ne vois pas ce qu'nommé
Description
dans cette catégorie, qui peut être le problème.Espère que cette aide.
OriginalL'auteur Codeman
J'ai juste enlevé
onCreateView
codewhich contains inflating xml
danslistview fragment
et se déplacer dansonActivityCreated
méthode avec celle de son travail.ListFragment a une mise en page par défaut qui consiste en une liste unique point de vue. Toutefois, si vous le désirez, vous pouvez personnaliser la mise en page de fragment par le retour de votre propre point de vue de la hiérarchie de onCreateView(LayoutInflater, ViewGroup, Bundle). Pour ce faire, votre point de vue de la hiérarchie doit contenir une liste d'objet avec l'id "@android:id/list" (liste ou si c'est dans le code)
Donc ma listview s'étend ListFragment et pas conatining liste dans le format xml , et directement, nous pouvons setListAdapter dans onActivityCreated plutôt que dans onCreateView.
C'est un peu trompeur, car vous devez avoir disparu avec @spin.goran réponse
OriginalL'auteur Udaykiran