07
6
内容纲要

下拉刷新是现在微博非常流行的更新操作,android中有非常经典的类库PullToRefreshListView,不过开发者已经把java代码转成c#了,在github上面有相关的代码下载。

使用比较简单,下面给出步骤:

step1:将PullToRefreshListView类库引用到项目中,并且把相关的资源文件和xml界面文件也拷贝到项目中pull_to_refresh_header.axml;

step2:定义相关的类

#region 下拉刷新

private class RefreshListener : PullToRefreshListView.OnRefreshListener

{

private MainActivity mylActivity;

List<WodubaoService.Model.hotnews> tempList;

public RefreshListener (MainActivity activity)

{

mylActivity = activity;

}

public void onRefresh ()

{

ThreadPool.QueueUserWorkItem (delegate {

mylActivity.isNetWork = WebHelper.CheckNetWork (mylActivity);

if (mylActivity.isNetWork) {

tempList = mylActivity.appA.GetAppHots ();

}

mylActivity.RunOnUiThread (delegate {

bool isUpate=false;

if (tempList != null && tempList.Count > 0) {

if(!tempList[0].articleId.Equals(mylActivity.htnList[0].articleId))

{

isUpate=true;

}

mylActivity.htnList = tempList;

}

if(mylActivity.isNetWork) {

if(isUpate)

{

mylActivity.myList=new List<object>();

mylActivity.myList.Add(mylActivity.htnList);

mylActivity.myList.Add("nextpage");

mylActivity.mainListAdapter.NotifyDataSetChanged();

Toast.MakeText (mylActivity, "已更新最新资讯", ToastLength.Short).Show ();

}

else

{

Toast.MakeText (mylActivity, "暂无更新", ToastLength.Short).Show ();

}

} else {

Toast.MakeText (mylActivity, "网络不给力", ToastLength.Short).Show ();

}

mylActivity.indexListView.onRefreshComplete ();

});

});

}

}

#endregion

step3:listview注册相关方法 indexListView.SetOnRefreshListener(new RefreshListener(this));


声明: 本文采用 BY-NC-SA 协议进行授权. 未标注“转”的文章均为原创,转载请注明转自: Mono for android中实现下拉刷新PullToRefreshListView

公告栏

欢迎大家来到我的博客,我是dodoro,希望我的博客能给你带来帮助。