App stürzt beim Hinzufügen einer Fußzeile zur Listenansicht

Ich habe eine Listenansicht, die mehr Listenelemente lädt, wenn sie mit onscroll listener @ 20rh listitem erreich

Ich möchte eine Fußzeile hinzufügen, in der steht, dass mehr geladen wird, während mehr Listenelemente geladen werden.

Wenn ich das 20. Listenelement erreiche, stürzt die App ab und sagt, dass Idex in logct nicht mehr zulässig ist.

meine Aktivitä

public class InterActivity extends Activity 
{

SwipeMenuListView listview;
//ListView listview;

View mFooterView;






@Override
public void onCreate(Bundle savedInstanceState)
{

    super.onCreate(savedInstanceState);
    setContentView(R.layout.inter_layout);
    shrdPreference = new SharedPreference();


    //Execute RemoteDataTask AsyncTask

    new RemoteDataTask().execute();
}




private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();


        mProgressDialog = new ProgressDialog(InterActivity.this);
        mProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        // Set progressdialog title
        //mProgressDialog.setTitle("BEGINNER CODES");
        // Set progressdialog message
        mProgressDialog.setMessage("Loading. Please wait loading ....");
        mProgressDialog.setIndeterminate(true);
        mProgressDialog.setCancelable(false);
        mProgressDialog.setIndeterminateDrawable(getResources().getDrawable(R.anim.progress_handler));
        // Show progressdialog
        mProgressDialog.show();

    }


    @Override
    protected Void doInBackground(Void... params) {
        // my do in backgroung process

    }

    @Override
    protected void onPostExecute(Void result) {
        // Locate the listview in listview_main.xml
    //  listview = (ListView) findViewById(R.id.inter_layoutListView);

        listview = (SwipeMenuListView) findViewById(R.id.inter_layoutListView);
        // Pass the results into ListViewAdapter.java
        adapter = new FinalAdapter(InterActivity.this,
                                      codelist);
         mFooterView = LayoutInflater.from(InterActivity.this).inflate(R.layout.footer_layout, null);                        

        // Binds the Adapter to the ListView
    listview.setAdapter(adapter);


        // Close the progressdialog
        mProgressDialog.dismiss();

// onscrll Listener einrichten

        listview.setOnScrollListener(new OnScrollListener() {

                @Override
                public void onScrollStateChanged(AbsListView view,
                                                 int scrollState) { // TODO Auto-generated method stub
                    int threshold = 1;
                    int count = listview.getCount();

                    if (scrollState == SCROLL_STATE_IDLE) {
                        if (listview.getLastVisiblePosition() >= count
                            - threshold) {
                            // Execute LoadMoreDataTask AsyncTask
                            new Loadmore().execute();
                        }
                    }
                }

                @Override
                public void onScroll(AbsListView view, int firstVisibleItem,
                                     int visibleItemCount, int totalItemCount) {
                    // TODO Auto-generated method stub

                }

            });




    }
}





private class Loadmore extends AsyncTask<Void, Void, Void> {


    @Override
    protected void onPreExecute() {

        super.onPreExecute();
    listview.addFooterView(mFooterView);

        }
    @Override
    protected Void doInBackground(Void... params) {
        // my load mmore data process


    }

    @Override
    protected void onPostExecute(Void result) {
        int position = listview.getLastVisiblePosition();



    adapter.notifyDataSetChanged();
        listview.removeFooterView(mFooterView);


listview.setSelectionFromTop(position, 0);


    }
}

   }    

logcat

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
FATAL EXCEPTION: main 02-29 15: 53: 11.546 23342 23342 E
AndroidRuntime
java.lang.IndexOutOfBoundsException: Ungültiger Index 9, Größe ist 0 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at java.util.ArrayList.throwIndexOutOfBoundsException (ArrayList.java:251)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at java.util.ArrayList.get (ArrayList.java:304)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at com.enlightenme.pac.FinalAdapter.getItem (FinalAdapter.java:55)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at com.enlightenme.pac.FinalAdapter.getView (FinalAdapter.java:83)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at com.baoyz.swipemenulistview.SwipeMenuAdapter.getView (SwipeMenuAdapter.java:65)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.AbsListView.obtainView (AbsListView.java:2588)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.ListView.makeAndAddView (ListView.java:1840)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.ListView.fillDown (ListView.java:681)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.ListView.fillSpecific (ListView.java:1339)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.ListView.layoutChildren (ListView.java:1639)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.AbsListView.onLayout (AbsListView.java:2427)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.View.layout (View.java:14938)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewGroup.layout (ViewGroup.java:4601)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.FrameLayout.onLayout (FrameLayout.java:448)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.View.layout (View.java:14938)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewGroup.layout (ViewGroup.java:4601)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.FrameLayout.onLayout (FrameLayout.java:448)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.View.layout (View.java:14938)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewGroup.layout (ViewGroup.java:4601)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1694)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1552)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.LinearLayout.onLayout (LinearLayout.java:1465) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.View.layout (View.java:14938)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewGroup.layout (ViewGroup.java:4601)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.widget.FrameLayout.onLayout (FrameLayout.java:448)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.View.layout (View.java:14938) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime at android.view.ViewGroup.layout (ViewGroup.java:4601) 02-29 15:53: 11.546 23342 23342 E AndroidRuntime unter android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2212)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2026)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1236)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.ViewRootImpl $ TraversalRunnable.run (ViewRootImpl.java:5160)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.Choreographer $ CallbackRecord.run (Choreographer.java:791) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.Choreographer.doCallbacks (Choreographer.java:591)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.Choreographer.doFrame (Choreographer.java:561) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.view.Choreographer $ FrameDisplayEventReceiver.run (Choreographer.java:777)

02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.os.Handler.handleCallback (Handler.java:725) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.os.Handler.dispatchMessage (Handler.java:92) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at android.os.Looper.loop (Looper.java:176) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime unter android.app.ActivityThread.main (ActivityThread.java:5365) 02-29 15:53: 11.546 23342 23342 E AndroidRuntime
at java.lang.reflect.Method.invokeNative (native Methode) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
at java.lang.reflect.Method.invoke (Method.java:511) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1102 ) 02-29 15: 53: 11.546 23342 23342 E AndroidRuntime
bei

new logcat

java.lang.ClassCastException: com.baoyz.swipemenulistview.SwipeMenuListView$1 cannot be cast to android.widget.HeaderViewListAdapter
02-29 17:54:03.976 27184 27184 E   AndroidRuntime                               at android.widget.ListView.removeFooterView(ListView.java:396)
02-29 17:54:03.976 27184 27184 E   AndroidRuntime                               at com.enlightenme.pac.InterActivity$Loadmore.onPostExecute(InterActivity.java:383)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage