您的位置:首页 > 其它

xutils请求数据上下拉刷新加载

2017-08-22 09:34 218 查看
 导入 xutils 包,并初始化xutils   x.Ext.init(this);

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {

private XListView xlv;
private List<Bean.ResultBean.DataBean.StepsBean> steps;
private Myadapter adapter;
private boolean flag;
private int index = 0;
private Myadapter.ViewHolder viewholder;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
getData("http://apis.juhe.cn/cook/query.php", index + "");

//        xlv.setAdapter(new Myadapter());

}

private void getData(String path, String pn) {

RequestParams params = new RequestParams(path);
params.addBodyParameter("menu", "秘制红烧肉");
params.addBodyParameter("key", "bd4b48ad4fc5d1b1664db0b5ca471451");
params.addBodyParameter("pn", pn);
params.addBodyParameter("rn", "10");
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Gson gson = new Gson();
Bean bean = gson.fromJson(result, Bean.class);
steps = bean.getResult().getData().get(0).getSteps();
if (adapter == null) {

adapter = new Myadapter(steps);
xlv.setAdapter(adapter);

} else {

adapter.loadMore(steps, flag);
adapter.notifyDataSetChanged();

}

}

@Override
public void onError(Throwable ex, boolean isOnCallback) {

}

@Override
public void onCancelled(CancelledException cex) {

}

@Override
public void onFinished() {

}
});

}

@Override
public void onRefresh() {

++index;

getData("http://apis.juhe.cn/cook/query.php", index + "");

flag = true;
xlv.stopRefresh(true);

}

@Override
public void onLoadMore() {

++index;

getData("http://apis.juhe.cn/cook/query.php", index + "");
flag = false;

xlv.stopLoadMore();

}

private class Myadapter extends BaseAdapter {

List<Bean.ResultBean.DataBean.StepsBean> list;

public Myadapter(List<Bean.ResultBean.DataBean.StepsBean> list) {

this.list = list;

}

private void loadMore(List<Bean.ResultBean.DataBean.StepsBean> lists, boolean flag) {

for (Bean.ResultBean.DataBean.StepsBean bean : lists) {

if (flag) {

list.add(0, bean);

} else {

list.add(bean);

}

}

}

@Override
public int getCount() {
return steps.size();
}

@Override
public Object getItem(int position) {
return steps.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

if (convertView == null) {
convertView = convertView.inflate(MainActivity.this, R.layout.activity_vh, null);
viewholder = new ViewHolder();
viewholder.textView = (TextView) convertView.findViewById(R.id.tv_1);
viewholder.imageview = (ImageView) convertView.findViewById(R.id.img_1);
convertView.setTag(viewholder);

} else {

viewholder = (ViewHolder) convertView.getTag();

}

viewholder.textView.setText(list.get(position).getStep());

x.image().bind(viewholder.imageview, list.get(position).getImg(), new ImageOptions.Builder().setFailureDrawableId(R.mipmap.ic_launcher_round).build());

return convertView;
}

class ViewHolder {

TextView textView;
ImageView imageview;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐