I am using the listview add/remove footer for listview cross app in android version 4.3?
android, android-arrayadapter, android-listview
Solution
This is probably caused by calling `setAdapter()` on the ListView before calling `setFooterView()`. This was necessary in all versions of Android prior to 4.4
Actually, I didn't know this restriction had been relaxed for KitKat until I saw this question... :)
In the sources of `addFooterView()` for API level 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.
Meanwhile, it KitKat, this restriction was relaxed:
/*
* 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.
If you want to be compatible with pre-4.4, you need to respect the calling order, i.e.
- `addFooterView(footer);`
- `setAdapter(adapter);`
- `removeFooterView(footer);`
Problem
I used to the `ListView` add the footer view and also remove footer its worked fine in android version 4.4 above but problem in android version 4.3 and below I am using the following code for adding the footer ``` listfortestmyfeed.addFooterView(footerView); ``` and remove footer following code ``` listfortestmyfeed.removeFooterView(footerView); ``` remove footer showing class cast exception in my 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) ``` i didn't findout the mistake please tell me anyone know advance thanks