/* * Copyright 2013 Chris Banes * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package uk.co.senab.actionbarpulltorefresh.samples.actionbarsherlock; import com.actionbarsherlock.app.SherlockActivity; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import uk.co.senab.actionbarpulltorefresh.library.ActionBarPullToRefresh; import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshLayout; import uk.co.senab.actionbarpulltorefresh.library.listeners.OnRefreshListener; /** * This sample shows how to use ActionBar-PullToRefresh with a * {@link android.widget.ScrollView ScrollView}. */ public class ScrollViewActivity extends SherlockActivity implements OnRefreshListener { private PullToRefreshLayout mPullToRefreshLayout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scrollview); // Now find the PullToRefreshLayout and set it up mPullToRefreshLayout = (PullToRefreshLayout) findViewById(R.id.ptr_layout); ActionBarPullToRefresh.from(this) .allChildrenArePullable() .listener(this) .setup(mPullToRefreshLayout); } @Override public void onRefreshStarted(View view) { /** * Simulate Refresh with 4 seconds sleep */ new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { try { Thread.sleep(Constants.SIMULATED_REFRESH_LENGTH); } catch (InterruptedException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); // Notify PullToRefreshLayout that the refresh has finished mPullToRefreshLayout.setRefreshComplete(); } }.execute(); } }