onScroll无法正常工作

时间:2012-04-25 08:34:11

标签: android

@Override
public void onScroll(AbsListView view, int firstVisibleItem,
        int visibleItemCount, int totalItemCount) {
    // TODO Auto-generated method stub
    Toast.makeText(ViewPage.this, "In" , 1).show();
     if (loading) 
     {
         if (totalItemCount > previousTotal) 
         {
            loading = false;
            previousTotal = totalItemCount;
            currentPage++;
         }
     }
     if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) 
     { 


            for(int i=0;i<5;i++)
            {
                filename[i] = contactcursor.getString(contact_column_index);
                Toast.makeText(ViewPage.this, filename[i] +" "+ contactcursor.getString(contact_column_index) , 1).show();
                contactcursor.moveToNext();

            }


            arr_ad = new ArrayAdapter<String>(ViewPage.this, android.R.layout.simple_list_item_1, filename);


            setListAdapter(arr_ad);
            // I load the next page of gigs using a background task,
            // but you can call any function here.
           // new LoadGigsTask().execute(currentPage + 1);
            loading = true;
            Toast.makeText(ViewPage.this,totalItemCount+" "+visibleItemCount+" "+firstVisibleItem+" "+visibleThreshold+" ", 1).show();
     }
}

这是代码的一部分,其中onScroll只有在listview向下滚动时才能工作,但是当活动开始时它会自动工作,因为它中的toast被打印出来。提前完成。

1 个答案:

答案 0 :(得分:1)

首先,你不需要在onScroll上吐司,因为它不是一个好主意。而是使用Log

其次,它会自动调用,因为Listview需要填充内部的项目。因此,当ListView第一次插入项目时,滚动元素也会被更改/更新,导致onScroll发生(我猜)。一旦插入所需数量的项目以填充屏幕上可见的Listview,我认为它不会引发onScroll。所以这不是一个大问题。