这个最终效果, 图片来自http://a.code4app.com/android/ActionBar-PullToRefresh/524f9a156803faab3c000000
由于对于导包不是很了解,这个下拉刷新花费了我很多时间。
其实很简单,也就是两个类,首先你要下载ActionBar-PullToRefresh 点击打开链接
然后还要下载 点击打开链接
然后打开ActionBar-PullToRefresh 下的项目 : C:\Users\Administrator\Desktop\ActionBar-PullToRefresh-master\ActionBar-PullToRefresh-master\samples\stock
不过同时,你要先把ActionBar-PullToRefresh的根目录
导入到
那下面就好做了
/*
* 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.stock;
import android.app.ListActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher;
/**
* This sample shows how to use ActionBar-PullToRefresh with a
* {@link android.widget.ListView ListView}, and manually creating (and attaching) a
* {@link PullToRefreshAttacher} to the view.
*/
public class ListViewActivity extends ListActivity
implements PullToRefreshAttacher.OnRefreshListener {
private static String[] ITEMS = {"Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam",
"Abondance", "Ackawi", "Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu",
"Airag", "Airedale", "Aisy Cendre", "Allgauer Emmentaler", "Abbaye de Belloc",
"Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi", "Acorn", "Adelost",
"Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale", "Aisy Cendre",
"Allgauer Emmentaler"};
private PullToRefreshAttacher mPullToRefreshAttacher;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**
* Get ListView and give it an adapter to display the sample items
*/
ListView listView = getListView();
ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
ITEMS);
listView.setAdapter(adapter);
/**
* Here we create a PullToRefreshAttacher manually without an Options instance.
* PullToRefreshAttacher will manually create one using default values.
*/
mPullToRefreshAttacher = new PullToRefreshAttacher(this);
// Set the Refreshable View to be the ListView and the refresh listener to be this.
mPullToRefreshAttacher.setRefreshableView(listView, this);
}
@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(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
// Notify PullToRefreshAttacher that the refresh has finished
mPullToRefreshAttacher.setRefreshComplete();
}
}.execute();
}
}
这是下拉刷新的一个类