2012-12-13 120 views
0

这里是包含图像gridview的片段。最初我正在用20个物品加载网格。当用户向下滚动网格时,我想通知数据集已更改,并应重新加载视图。我添加了OnScrollListener。但它似乎并没有工作。当我滚动列表时,它不调用onScroll方法。而且我还想知道什么时候滚动,到达最终项目。这里有什么错误?Android中的GridView中的OnScrollListener

public class AllStoresFragment extends Fragment implements OnScrollListener{ 
     GridView gridview; 
     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 

      view = inflater.inflate(R.layout.allstores_fragment, container, 
      false);  
      gridview = (GridView) view.findViewById(R.id.grid_view_storestab); 
      gridview.setAdapter(new ImageAdapter(jsonresultinitial)); 
    } 
    } 


private void notifyMe() 
{ 
    ((BaseAdapter) ((GridView) view.findViewById(R.id.grid_view_storestab)) 
      .getAdapter()).notifyDataSetChanged(); 

    gridview.setAdapter(new ImageAdapter(
      jsonresult)); 

} 

@Override 
public void onScroll(AbsListView view, int firstVisibleItem, 
     int visibleItemCount, int totalItemCount) { 
    Log.v("first visible count",firstVisibleItem+""); 
    Log.v("visible count",visibleItemCount+""); 
    Log.v("total item count",totalItemCount+""); 
    notifyMe(); 

} 

回答

2

你需要调用setOnScrollListener您GridView

喜欢的东西

public class AllStoresFragment extends Fragment { 
      GridView gridview; 
      @Override 
      public View onCreateView(LayoutInflater inflater, ViewGroup container, 
            Bundle savedInstanceState) { 

       view = inflater.inflate(R.layout.allstores_fragment, container, 
       false);  
       gridview = (GridView) view.findViewById(R.id.grid_view_storestab); 
       gridview.setAdapter(new ImageAdapter(jsonresultinitial)); 
       gridview.setOnScrollListener(new GVOnScrollListener()); 
     } 
     } 


    private void notifyMe() 
    { 
     ((BaseAdapter) ((GridView) view.findViewById(R.id.grid_view_storestab)) 
       .getAdapter()).notifyDataSetChanged(); 

     gridview.setAdapter(new ImageAdapter(
       jsonresult)); 

    } 

    public final class GVOnScrollListener implements AbsListView.OnScrollListener { 
     @Override 
     public void onScroll(AbsListView view, int firstVisibleItem, 
       int visibleItemCount, int totalItemCount) { 
      Log.v("first visible count",firstVisibleItem+""); 
      Log.v("visible count",visibleItemCount+""); 
      Log.v("total item count",totalItemCount+""); 
      notifyMe(); 

     } 
    }