Desplazamiento Actualizar diseño en Android Fragment

Estoy tratando de implementar SwipeRefreshLayout en un fragmento.

Ya lo he solucionado para implementarlo en una Actividad, pero cuando la implemento en Fragment: java.lang.NoClassDefFoundError: com …

¿Alguien tiene una idea? ¡Gracias!

Poste similar sin respuestas / solución: Actualizar Refresh Layout – Clase no encontrada

Mi código:

public class Principal extends Fragment implements OnRefreshListener { SwipeRefreshLayout swipeLayout; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment view = inflater.inflate(R.layout.principal, container, false); swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container); swipeLayout.setOnRefreshListener(this); swipeLayout.setColorScheme(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); return view; } } 

Y mi diseño:

 <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent"> <com.enhancedListView.EnhancedListView android:id="@+id/listaNoticias" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="6dp" android:layout_marginRight="6dp" android:layout_marginTop="5dp" > </com.enhancedListView.EnhancedListView> </android.support.v4.widget.SwipeRefreshLayout> 

Traza de pila completa

 08-13 11:36:19.292: E/AndroidRuntime(31572): FATAL EXCEPTION: main 08-13 11:36:19.292: E/AndroidRuntime(31572): Process: com.xxx.xx, PID: 31572 08-13 11:36:19.292: E/AndroidRuntime(31572): java.lang.NoClassDefFoundError: com.xxx.fragments.Principal 08-13 11:36:19.292: E/AndroidRuntime(31572): at com.xxx.hem.activities.MainActivity.CargarPrincipal(MainActivity.java:676) 08-13 11:36:19.292: E/AndroidRuntime(31572): at com.xxx.hem.activities.MainActivity.onCreate(MainActivity.java:297) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.Activity.performCreate(Activity.java:5231) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.ActivityThread.access$800(ActivityThread.java:135) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.os.Handler.dispatchMessage(Handler.java:102) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.os.Looper.loop(Looper.java:136) 08-13 11:36:19.292: E/AndroidRuntime(31572): at android.app.ActivityThread.main(ActivityThread.java:5001) 08-13 11:36:19.292: E/AndroidRuntime(31572): at java.lang.reflect.Method.invoke(Native Method) 08-13 11:36:19.292: E/AndroidRuntime(31572): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 08-13 11:36:19.292: E/AndroidRuntime(31572): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 

Resuelto 🙂

Mi XML

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent" > <com.enhancedListView.EnhancedListView android:id="@+id/listaNoticias" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="6dp" android:layout_marginRight="6dp" android:layout_marginTop="5dp" > </com.enhancedListView.EnhancedListView> </android.support.v4.widget.SwipeRefreshLayout> 

Mi fragmento

 public class Principal extends Fragment implements OnRefreshListener { SwipeRefreshLayout swipeLayout; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment view = inflater.inflate(R.layout.principal, container, false); swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container); swipeLayout.setOnRefreshListener(this); swipeLayout.setColorSchemeColors(android.R.color.holo_green_dark, android.R.color.holo_red_dark, android.R.color.holo_blue_dark, android.R.color.holo_orange_dark); (...) @Override public void onRefresh() { new myTask().execute(); } 

Ponga su inicialización de swipeLayout en onViewCreated (vista de vista, paquete de paquetes) en lugar de onCreateView (influxo LayoutInflater, contenedor ViewGroup, conjunto savedInstanceState)

 @Override public void onViewCreated(View view, Bundle savedInstanceState) { swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container); swipeLayout.setOnRefreshListener(this); swipeLayout.setColorScheme(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); } 
  • NoClassDefFoundError al usar Dagger 2 después de cambiar a Android Studio 2.0
  • No se pudo encontrar la clase android.support.v4.app.NotificationCompat $ Builder
  • Proyecto de referencia (puro java) en el proyecto de Android (No se pudo encontrar la clase)
  • Obtener TypeNotPresentException seguido de ClassNotFoundException o NoClassDefFoundError en todas las versiones de android excepto android L
  • NoClassDefFoundError en la muestra de Cocos2D
  • Java.lang.NoClassDefFoundError en versiones anteriores de Android SDK
  • Jitsi-android no puede compilar y construir
  • Java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 en Android Studio
  • ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R $ styleable
  • ¿Enfoque para la fijación de NoClassDefFoundError?
  • Error de Eclipse: NoClassDefFoundError: java / lang / ref / FinalReference
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.