Vista de la lista de carga dinámica de Android en los problemas deScrollListener

He implementado una vista de lista, cada usuario se desplaza a la pantalla inferior, agrega automáticamente nuevos datos a la vista de lista. Una vez que se haya completado el desplazamiento, onScroll () llama a cada elemento nuevo que ingresa a la vista de visualización, desde el principio hasta el final del desplazamiento

lv_best = (ListView) findViewById(R.id.lv_best);
bestadapter = new LazyAdapter(this, lst_tab_best);
lv_best.setAdapter(bestadapter);
lv_best.setOnScrollListener(new AbsListView.OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) { }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
                        int visibleItemCount, int totalItemCount) {

    Log.d("onScroll ", firstVisibleItem+"-"+visibleItemCount+"-"+totalItemCount);
    boolean loadMore = firstVisibleItem + visibleItemCount >= totalItemCount;
    if(loadMore){
            new ChangeTab_best().execute();
     }
     }
    });

Ejecuto en el emulador, la lista de arriba muestra con 5 elementos, pero no puedo detectar el final del desplazamiento en un ListView, ChangeTab_best () se llama muchas veces. Cuando veo Logcat android, todas las variables firstVisibleItem, visibleItemCount, totalItemCount siempre es igual a 0

Entonces, ¿qué pasa aquí?

Respuestas a la pregunta(3)

Su respuesta a la pregunta