0

これが画像のグリッドビューを持つフラグメントです。最初に、20個のアイテムをグリッドにロードしています。ユーザーがグリッドを下にスクロールしたときに、データセットが変更されたことを通知したいので、ビューをリロードする必要があります。OnScrollListenerを追加しました。しかし、それは機能していないようです。リストをスクロールしているときは、onScrollメソッドを呼び出していません。また、巻物がいつ最終品に到達するかを知りたいです。ここでの間違いは何ですか?

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();

}
4

1 に答える 1

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();

        }
   }
于 2012-12-13T06:39:38.623 に答える