Android Studio—PullToRefresh 框架

发布于:2024-06-23 ⋅ 阅读:(120) ⋅ 点赞:(0)

之后到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) {


网站公告

今日签到

点亮在社区的每一天
去签到