0

ずらしたグリッド ビューでライブラリを更新するためにハンドマーク プルを使用しました。正常に動作していますが、グリッド ビュー自体が垂直に移動し、移動した後でもグリッドの移動によって非表示になる画像をユーザーがプルできるようにする必要があります。見る。しかし、うまくいきません。

私が使用したコードは次のとおりです。

pullToRefreshStaggeredGrid=(PullToRefreshStaggeredGridView) findViewById(R.id.staggeredGridView1);
        staggeredGridView=pullToRefreshStaggeredGrid.getRefreshableView();
        int margin = getResources().getDimensionPixelSize(R.dimen.margin);

        staggeredGridView.setItemMargin(margin); // set the GridView margin

        staggeredGridView.setPadding(margin, 0, margin, 0); // have the margin on the sides as well 

        adapter = new StaggeredAdapter(MainActivity.this, R.id.imageView1,urls,imageLoader);

        new AsyncClass().execute(count);
}




AND ASYNC CLASS IS:



private class AsyncClass extends AsyncTask<Integer, Void, Integer>
    {
        @Override
        protected Integer doInBackground(Integer... params) {

            publishProgress();

            return params[0];
        }
        @Override
        protected void onProgressUpdate(Void... values) {
            // TODO Auto-generated method stub
            super.onProgressUpdate(values);
            staggeredGridView.setAdapter(adapter);
        }

        @Override
        protected void onPostExecute(Integer result) {
            // TODO Auto-generated method stub
            count=result;
            Log.e("count","count"+count);
            final Timer timer = new Timer();
            final Handler handler=new Handler();
            timer.scheduleAtFixedRate( 
                    new java.util.TimerTask() {
                        final long t0=System.currentTimeMillis();
                        @Override
                        public void run() {

                            handler.post(new Runnable() {

                                @Override
                                public void run() {


                                    Log.e("timer","timer");
                                    staggeredGridView.scrollTo(0, count);
                                    count=count+10;
                                    pullToRefreshStaggeredGrid.setRefreshing(false);
                                }
                            });

                            if(System.currentTimeMillis()-t0>5 * 1000)
                            {
                                Log.e("cancel","cancel");
                                timer.cancel();
                            }

                        }


                    },200,100
                    );
        }

    }
4

1 に答える 1