App fallando al usar fragmentos

Estoy trabajando con fragmentos y ..

Tengo un problema en mi código que no puedo encontrar.

El logcat señala esta pieza de código, en uno de mis fragmentos:

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.activity_main, container, false); } 

Mi clase principal (la FragmentActivity):

 import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import android.view.View; public class Fragments extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fragments); MainActivity fragment = new MainActivity(); FragmentTransaction transaction = getSupportFragmentManager() .beginTransaction(); transaction.add(R.id.fragment_place, fragment); transaction.commit(); } public void onSelectFragment(View view) { Fragment newFragment; if (view == findViewById(R.id.add)) { newFragment = new Add(); } else if (view == findViewById(R.id.map)) { newFragment = new MainActivity(); } else { newFragment = new MainActivity(); } FragmentTransaction transaction = getSupportFragmentManager() .beginTransaction(); transaction.replace(R.id.fragment_place, newFragment); transaction.addToBackStack(null); transaction.commit(); } } 

Y el logcat:

 09-30 00:02:52.363: E/AndroidRuntime(32284): FATAL EXCEPTION: main 09-30 00:02:52.363: E/AndroidRuntime(32284): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.free/com.example.free.Fragments}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2185) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.ActivityThread.access$600(ActivityThread.java:142) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.os.Handler.dispatchMessage(Handler.java:99) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.os.Looper.loop(Looper.java:137) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.ActivityThread.main(ActivityThread.java:4931) 09-30 00:02:52.363: E/AndroidRuntime(32284): at java.lang.reflect.Method.invokeNative(Native Method) 09-30 00:02:52.363: E/AndroidRuntime(32284): at java.lang.reflect.Method.invoke(Method.java:511) 09-30 00:02:52.363: E/AndroidRuntime(32284): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 09-30 00:02:52.363: E/AndroidRuntime(32284): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558) 09-30 00:02:52.363: E/AndroidRuntime(32284): at dalvik.system.NativeStart.main(Native Method) 09-30 00:02:52.363: E/AndroidRuntime(32284): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 09-30 00:02:52.363: E/AndroidRuntime(32284): at com.example.free.MainActivity.onCreateView(MainActivity.java:124) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:556) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.Activity.performStart(Activity.java:5018) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 09-30 00:02:52.363: E/AndroidRuntime(32284): ... 11 more 09-30 00:02:52.363: E/AndroidRuntime(32284): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.Fragment.instantiate(Fragment.java:402) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.Fragment.instantiate(Fragment.java:377) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:277) 09-30 00:02:52.363: E/AndroidRuntime(32284): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) 09-30 00:02:52.363: E/AndroidRuntime(32284): ... 24 more 

La clase "MainActivity" es muy larga, así que lo pegué usando pasebin:

Http://pastebin.com/Lt3wbNzD

¡Gracias por tu ayuda!

Editar:

 private GoogleMap map; FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); transaction.add(R.id.map, map).commit(); 

Muestra un error:

El método add (int, Fragment) en el tipo FragmentTransaction no es aplicable para los argumentos (int, GoogleMap)

3 Solutions collect form web for “App fallando al usar fragmentos”

 Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment 

No se puede crear un fragmento dentro de un fragmento utilizando xml. No has publicado el xml para el fragmento, pero supongo que tienes un fragmento de mapa ahí. Todavía puede agregarlo, pero debe agregarlo dinámicamente usando getChildFragmentManager()

Con la biblioteca de soporte debe utilizar FrameLayout en xml como titular de fragmento en lugar de fragmento como este:

 <FrameLayout android:id="@+id/fragment_place" ... /> 

Tienes que usar eso

return inflater.inflate(R.layout.activity_main,null);

Usted no tiene padre como él Fragment la transacción.

  • Error de Google Map V2 android error de fragmento de clase de inflado
  • "Evite pasar null como la raíz de vista" advertencia al inflar vista para su uso por AlertDialog
  • Android: ¿Cuál es la diferencia entre View.inflate y getLayoutInflater (). Inflate?
  • OnCreateOptionsMenu dentro de Fragmentos
  • Cómo obtener datos de EditText creado dinámicamente con LayoutInflater en android?
  • LayoutParams inesperado con un LinearLayout inflado
  • Crash después de agregar pie de página a ListView
  • Vista previa de diseño de Android arroja error al agregar LinearLayout personalizado
  • Fragmento de la fuerza de Android para reconstruir Ver
  • NPE mientras infla el diseño (Intentar invocar el método virtual 'boolean java.lang.String.equals (java.lang.Object)' en una referencia de objeto nulo)
  • Android: ¿Cómo cambiar dinámicamente el contenido de la pestaña inflada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.