6

Je rencontre des problèmes avec les fragments de la plate-forme 2.2. J'ai importé la bibliothèque android-support-v4.jar pour prendre en charge les fragments.
J'ai essayé de changer la cible à Honeycomb 3.0, et le code fonctionne. Donc, je veux savoir s'il existe un moyen de travailler avec des fragments sur une plate-forme native et une façon différente de le faire avec des versions antérieures.Erreur de gonflement du fragment de la mise en page android-support-v4

Voici mon AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.nsy.testefragmentos" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk android:minSdkVersion="8" /> 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:label="@string/app_name" 
      android:name=".TesteFragmentosActivity" > 
      <intent-filter > 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
      <activity android:name="FragmentoLista" /> 
      <activity android:name="FragmentoDetalhe" /> 
    </application> 
</manifest> 

Et voici ma classe principale

package com.nsy.testefragmentos; 

import android.app.Activity; 
import android.os.Bundle; 

public class TesteFragmentosActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

Et enfin, le fragment appelé à partir du fichier main.xml:

package com.nsy.testefragmentos; 

import android.os.Bundle; 
import android.support.v4.app.ListFragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class FragmentoLista extends ListFragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return super.onCreateView(inflater, container, savedInstanceState);   
    } 
} 

quand je lance , l'erreur de suivi apparaît dans le logCat:

12-24 11:46:16.708: E/AndroidRuntime(395): FATAL EXCEPTION: main 
12-24 11:46:16.708: E/AndroidRuntime(395): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nsy.testefragmentos/com.nsy.testefragmentos.TesteFragmentosActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.os.Looper.loop(Looper.java:123) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.main(ActivityThread.java:4627) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.reflect.Method.invokeNative(Native Method) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.reflect.Method.invoke(Method.java:521) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
12-24 11:46:16.708: E/AndroidRuntime(395): at dalvik.system.NativeStart.main(Native Method) 
12-24 11:46:16.708: E/AndroidRuntime(395): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.Activity.setContentView(Activity.java:1647) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.nsy.testefragmentos.TesteFragmentosActivity.onCreate(TesteFragmentosActivity.java:12) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
12-24 11:46:16.708: E/AndroidRuntime(395): ... 11 more 
12-24 11:46:16.708: E/AndroidRuntime(395): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.nsy.testefragmentos-1.apk] 
12-24 11:46:16.708: E/AndroidRuntime(395): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.createView(LayoutInflater.java:466) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:544) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
12-24 11:46:16.708: E/AndroidRuntime(395): ... 20 more 
12-24 11:46:21.828: I/Process(395): Sending signal. PID: 395 SIG: 9 

Je ne sais vraiment pas ce que je fais mal =/Quelqu'un peut-il m'aider? thnkx

Répondre

6

Votre activité devrait s'étendre FragmentActivity au lieu de Activity. Avait le même problème moi-même.

public class TesteFragmentosActivity extends FragmentActivity { 
    ... 
} 
+0

Merci Boude, c'était le problème! \ o / –

0

Parfois l'erreur (erreur de moi) j'ai fait face, je l'ai en utilisant le fragment (android.app.fragment) dans un fichier et dans un autre appelant avec Fragment (android.support.v4.app. Fragment). après avoir vérifié la ligne One'by un je l'ai trouvé et résolu, pour cette erreur j'ai passé 5-6 heures, je mettais en œuvre ImageSlider

Questions connexes