上拉重新整理和ListView多條目
public class MainActivityextends AppCompatActivity implementsXListView.IXListViewListener{ private XListViewxlist_view;
private ListmLists =new ArrayList<>();
private MyAdapteradapter ;
private int index =1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
adapter =new MyAdapter(mLists,MainActivity.this);
xlist_view.setAdapter(adapter);
new MyTask().execute(mUrl+index);//
}
private void initView() {
xlist_view = (XListView) findViewById(R.id.xlist_view);
//設定是否可以上拉重新整理和下拉載入
xlist_view.setPullLoadEnable(true);
//設定點選事件
xlist_view.setXListViewListener(this);
}
@Override
public void onRefresh() {
//清除集合中的資料
mLists.clear();
//新增資料
new MyTask().execute(mUrl+1);
//停止重新整理
xlist_view.stopRefresh();
}
@Override
public void onLoadMore() {
//載入更多
new MyTask().execute(mUrl+(++index));
//停止載入更多
xlist_view.stopLoadMore();
}
//非同步載入資料
class MyTaskextends AsyncTask>{
@Override
protected List doInBackground(String... strings) {
try {
String jsonStr = Utils.get(strings[0]);
Gson gson =new Gson();
MyData data = gson.fromJson(jsonStr, MyData.class);
return data.getData();
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(List dataBeans) {
super.onPostExecute(dataBeans);
mLists.addAll(dataBeans);
adapter.notifyDataSetChanged();
}
}