Android Studio—PullToRefresh 框架

之后到layout中改变刷新布局

在这里插入图片描述

3 使用

==============================================================

插入PullToRefreshListView

<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

xmlns:tools=“http://schemas.android.com/tools”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

tools:context=“ r e l a t i v e P a c k a g e . {relativePackage}. relativePackage.{activityClass}”

android:background=“#000000”>

<com.handmark.pulltorefresh.library.PullToRefreshListView

xmlns:ptr=“http://schemas.android.com/apk/res-auto”

android:id=“@+id/pull_refresh_list”

android:layout_width=“fill_parent”

android:layout_height=“fill_parent”

android:cacheColorHint=“#000000”

android:divider=“#19000000”

android:dividerHeight=“4dp”

android:fadingEdge=“none”

android:fastScrollEnabled=“false”

android:footerDividersEnabled=“false”

android:headerDividersEnabled=“false”

android:smoothScrollbar=“true”

ptr:ptrAnimationStyle=“rotate”

ptr:ptrHeaderTextColor=“#ffffff”

ptr:ptrHeaderSubTextColor=“#00ffff”

ptr:ptrHeaderBackground=“@null”

ptr:ptrDrawable=“@drawable/ic_launcher”/>

Activity 中设置下拉刷新监听

1.使用 setOnRefreshListener设置刷新监听,

2.使用OnRefreshListener回调在 onRefresh方法中触发加载数据操作.实现下拉监听.

3.使用 AsyncTask 实现加载数据 .

public class MainActivity extends AppCompatActivity {

PullToRefreshListView id_lv_test;

private List mList = new ArrayList(){

{

add(“Chinese”);

add(“Math”);

add(“English”);

}

};

private ArrayAdapter mLvAdapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 获取控件

id_lv_test = (PullToRefreshListView) findViewById(R.id.id_lv_test);

// 设置适配器

mLvAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,mList);

id_lv_test.setAdapter(mLvAdapter);

// 设置下拉刷新监听.

id_lv_test.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener() {

@Override

public void onRefresh(PullToRefreshBase refreshView) {

new AsyncTask<Void,Void,Void>(){

@Override

protected Void doInBackground(Void… params) {

SystemClock.sleep(3 * 1000);

mList.add("新数据 - " + mLvAdapter.getCount());

return null;

}

@Override

protected void onPostExecute(Void aVoid) {

id_lv_test.onRefreshComplete();

}

}.execute();

}

}

);

}

}

id_lv_test.setMode(PullToRefreshBase.Mode.BOTH);

// 设置上下刷新

id_lv_test.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {

@Override

public void onPullDownToRefresh(PullToRefreshBase refreshView) {

Log.d(TAG,"下拉动作 : " + Thread.currentThread().getId());

id_lv_test.postDelayed(new Runnable() {

@Override

public void run() {

id_lv_test.onRefreshComplete();

}

},50);

}

@Override

public void onPullUpToRefresh(PullToRefreshBase refreshView) {

Log.d(TAG,“上拉动作”);

id_lv_test.postDelayed(new Runnable() {

@Override

public void run() {

id_lv_test.onRefreshComplete();

}

},50);

}

});

id_lv_test.getLoadingLayoutProxy(false,true).setPullLabel(“上拉加载更多.”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值