package com.bulletnoid.android.widget.StaggeredGridViewDemo; import android.app.Activity; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import com.bulletnoid.android.widget.StaggeredGridView.StaggeredGridView; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshStaggeredGridView; public class STGVWithPTRActivity extends Activity { PullToRefreshStaggeredGridView ptrstgv; STGVAdapter mAdapter; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_stgv_with_ptr); ptrstgv = (PullToRefreshStaggeredGridView) findViewById(R.id.ptrstgv); mAdapter = new STGVAdapter(this, getApplication()); ptrstgv.setMode(PullToRefreshBase.Mode.PULL_FROM_START); ptrstgv.getRefreshableView().setHeaderView(new Button(this)); View footerView; LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); footerView = inflater.inflate(R.layout.layout_loading_footer, null); ptrstgv.getRefreshableView().setFooterView(footerView); ptrstgv.setAdapter(mAdapter); mAdapter.notifyDataSetChanged(); ptrstgv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<StaggeredGridView>() { @Override public void onRefresh(PullToRefreshBase<StaggeredGridView> refreshView) { mAdapter.getNewItem(); mAdapter.notifyDataSetChanged(); ptrstgv.onRefreshComplete(); } }); ptrstgv.setOnLoadmoreListener(new StaggeredGridView.OnLoadmoreListener() { @Override public void onLoadmore() { new LoadMoreTask().execute(); } }); } public class LoadMoreTask extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Void doInBackground(Void... params) { try { Thread.sleep(1000); } catch (InterruptedException e) { } return null; } @Override protected void onPostExecute(Void result) { mAdapter.getMoreItem(); mAdapter.notifyDataSetChanged(); super.onPostExecute(result); } } }