J'utilise la liste ajoutée / supprime le pied de page pour l'application cross listview dans la version Android 4.3?

J'avais l'habitude de ListView ajouter la vue de bas de page et de supprimer le bas de page, il fonctionnait bien dans la version Android 4.4 ci-dessus mais problème dans la version Android 4.3 et ci-dessous J'utilise le code suivant pour ajouter le pied de page

 listfortestmyfeed.addFooterView(footerView); 

Et supprimer le code suivant du pied de page

  • Exécutez l'émulateur de studio Android sur le processeur AMD
  • Comment savoir si les notifications sont activées ou non pour une application dans Android?
  • VideoView sur Viewpager, arrêt de la vidéo lors de la commutation de la page
  • Android Studio 0.5.0 - Pas de reconnaissance automatique de code et de syntaxe d'erreur après la mise à niveau
  • Emplacement enregistrable et exécutable sur Android
  • Android Toast équivalent dans iOS
  •  listfortestmyfeed.removeFooterView(footerView); 

    Supprimez le pied de page en montrant l'exception de classe dans mon logcat

      07-11 20:07:49.665: E/ACRA(22818): com.sample.activities fatal error : com.sample.adapters.MyfeedAdapter cannot be cast to android.widget.HeaderViewListAdapter 07-11 20:07:49.665: E/ACRA(22818): java.lang.ClassCastException: com.sample.adapters.MyfeedAdapter cannot be cast to android.widget.HeaderViewListAdapter 07-11 20:07:49.665: E/ACRA(22818): at android.widget.ListView.removeFooterView(ListView.java:390) 07-11 20:07:49.665: E/ACRA(22818): at com.sample.fragments.MyfeedNewFragment$FollowingBloopsdoinback.onPostExecute(MyfeedNewFragment.java:172) 07-11 20:07:49.665: E/ACRA(22818): at com.sample.fragments.MyfeedNewFragment$FollowingBloopsdoinback.onPostExecute(MyfeedNewFragment.java:1) 07-11 20:07:49.665: E/ACRA(22818): at android.os.AsyncTask.finish(AsyncTask.java:631) 07-11 20:07:49.665: E/ACRA(22818): at android.os.AsyncTask.access$600(AsyncTask.java:177) 07-11 20:07:49.665: E/ACRA(22818): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644) 07-11 20:07:49.665: E/ACRA(22818): at android.os.Handler.dispatchMessage(Handler.java:99) 07-11 20:07:49.665: E/ACRA(22818): at android.os.Looper.loop(Looper.java:137) 07-11 20:07:49.665: E/ACRA(22818): at android.app.ActivityThread.main(ActivityThread.java:5103) 07-11 20:07:49.665: E/ACRA(22818): at java.lang.reflect.Method.invokeNative(Native Method) 07-11 20:07:49.665: E/ACRA(22818): at java.lang.reflect.Method.invoke(Method.java:525) 07-11 20:07:49.665: E/ACRA(22818): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 07-11 20:07:49.665: E/ACRA(22818): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 07-11 20:07:49.665: E/ACRA(22818): at dalvik.system.NativeStart.main(Native Method) 

    Je n'ai pas trouvé l'erreur s'il vous plaît, dites-moi que quelqu'un connaît l'avance, merci

  • GetView renvoie null lorsque le fragment a été créé à partir d'une activité
  • Android capturant la vidéo en ralenti
  • Les tests de sélénium valent-ils sur les appareils mobiles?
  • Comment faire une taille d'écran GridLayout
  • "Caractère natif ne peut être créé" que pour certaines personnes
  • Android MediaRecorder stop () n'est pas appelé
  • 2 Solutions collect form web for “J'utilise la liste ajoutée / supprime le pied de page pour l'application cross listview dans la version Android 4.3?”

    Ceci est probablement causé par appeler setAdapter() sur ListView avant d' appeler setFooterView() . Ceci était nécessaire dans toutes les versions d'Android avant 4.4

    En fait, je ne savais pas que cette restriction avait été détendue pour KitKat jusqu'à ce que je voie cette question … 🙂

    Dans les sources d' addFooterView() pour API niveau 15:

     /* * NOTE: Call this before calling setAdapter. This is so ListView can wrap * the supplied cursor with one that will also account for header and footer * views. 

    Pendant ce temps, KitKat, cette restriction était détendue:

     /* * Note: When first introduced, this method could only be called before * setting the adapter with {@link #setAdapter(ListAdapter)}. Starting with * {@link android.os.Build.VERSION_CODES#KITKAT}, this method may be * called at any time. 

    Si vous souhaitez être compatible avec le pré-4.4, vous devez respecter l'ordre d'appel, c'est-à-dire

    1. addFooterView(footer);
    2. setAdapter(adapter);
    3. removeFooterView(footer);

    Oui. Les en-têtes / pieds de page sont en effet problématiques avec une compatibilité ascendante. J'ai récemment refacturé le code, pour utiliser la mise en page relative au lieu d'un pied de page, ce qui a fait à peu près ce que j'attendais sur n'importe quel périphérique -> pied de page visible, bas de page. Essayez ceci avec un pied de page ListView, cela ne fonctionnera pas, mais vous devez appeler addFooterView, removeFooterView et même cela ne fonctionne pas comme mentionné. L'accident pourrait être contourné par

     a = getAdapter() setAdapter(null) removeFooter() setAdapter(a) 

    Mais le pied de page ne fonctionnait toujours pas de cette façon.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.