android第三方服务框架,android第三方框架 xlistview 的使用

public class TaskList extends AppCompatActivity implementsXListView.IXListViewListener {//创建xlistview对象

privateXListView mListView;//创建数据

List dataList = new ArrayList<>();privateObject item;int page = 1;int maxpage = 0;//用来执行耗时操作

privateHandler mHandler;/*** Called when the activity is first created.*/@Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.tasklist);//指定布局中的xlistview控件

mListView =(XListView) findViewById(R.id.xListView);

mListView.setPullLoadEnable(true);

mListView.setPullRefreshEnable(true);

getTaskList(page);

mListView.setAdapter(new MyAdapter(TaskList.this, dataList));

mListView.setXListViewListener(this);

mHandler= newHandler(){

@Overridepublic voidhandleMessage(Message msg) {switch(msg.what){case 0x001:

Toast.makeText(TaskList.this , "已无更多数据", Toast.LENGTH_SHORT).show();break;case 0x002:

Toast.makeText(TaskList.this , "未找到数据", Toast.LENGTH_SHORT).show();break;

}

}

};

}//获得数据后要执行onLoad()方法,否则刷新会一直进行停不下来

private voidonLoad() {

mListView.stopRefresh();

mListView.stopLoadMore();

mListView.setRefreshTime("刚刚");

}

@Overridepublic voidonRefresh() {

dataList.clear();

page= 1;

mHandler.post(newRunnable() {//执行耗时操作

@Overridepublic voidrun() {

getTaskList(page);

mListView.setAdapter(new MyAdapter(TaskList.this, dataList));

}

});

onLoad();

Log.i("------------------", "onRefresh");

}

@Overridepublic voidonLoadMore() {

mHandler.post(newRunnable() {

@Overridepublic voidrun() {if(page

getTaskList(++page);

mListView.deferNotifyDataSetChanged();

}else{

Message msg= newMessage();

msg.what=0x001;

mHandler.sendMessage(msg);

}//getTaskList(++page);//mListView.deferNotifyDataSetChanged();//mListView.setAdapter(new MyAdapter(TaskList.this, dataList));

}

});

onLoad();

Log.i("------------------", "onLoadMore");

}/***

* 获取list数据 volley 方法 post string数据 得到 json数据 服务端由php编写

*

**/

public void getTaskList(intpages) {

Toast.makeText(TaskList.this , pages+"", Toast.LENGTH_SHORT).show();

RequestQueue mreuestQueut= Volley.newRequestQueue(this);final Gson gson = newGson();

JsonObjectRequest jsreq= new JsonObjectRequest(Request.Method.GET, TASK_LIST_DATE+"page="+pages, null,new Response.Listener() {

@Overridepublic voidonResponse(JSONObject jsonObject) {

Message msg= newMessage();try{int code = jsonObject.getInt("code");if(code == 200){int size = jsonObject.getJSONArray("data").length();for(int i=0; i

JSONObject dataObject= jsonObject.getJSONArray("data").getJSONObject(i);

String title= dataObject.getString("title");

String price= dataObject.getString("fee");

String explain= dataObject.getString("description");

dataList.add(new ItemBean(title , explain , price , "3km"));

}

maxpage= ++page;

page= page-1;

}else if(code == 205){//已无更多数据//maxpage = page;

page =maxpage;

msg.what=0x001;

mHandler.sendMessage(msg);

}else if(code == 404){//未找到数据

msg.what = 0x002;

mHandler.sendMessage(msg);

}

}catch(JSONException e) {

e.printStackTrace();

Log.i("----------------", "客户端内部错误");

}

}

},newResponse.ErrorListener() {

@Overridepublic voidonErrorResponse(VolleyError volleyError) {

Log.i("----------------","服务器出错"+volleyError.toString());

}

});

mreuestQueut.add(jsreq);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值