--------------这是继承完基类的main
public class MainActivity extends BaseActivity implements HttpCallback, AdapterView.OnItemClickListener {
private String api = "http://172.17.8.100/mobile/exam/findNewList";
private PullToRefreshListView pull_list;
private boolean isPull = false;
private List<MainBean.ResultBean.DataBean> dataBeanList = new ArrayList<>();
private MainAdapter adapter;
@Override
protected boolean isFullScreen() {
return false;
}
//这试获取的控件
@Override
protected void findView() {
pull_list = findViewById(R.id.pull_to_refresh_list);
}
//这是设置的一些事件
@Override
protected void setListener() {
pull_list.setOnItemClickListener(this);
}
//上拉刷新和下拉加载
@Override
protected void initFinish() {
pull_list.setMode(PullToRefreshBase.Mode.BOTH);
pull_list.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
isPull = true;
loadData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
loadData();
}
});
//设置适配器
adapter = new MainAdapter(this, dataBeanList);
pull_list.setAdapter(adapter);
loadData();
}
//获取的布局方法
@Override
protected int initLayout() {
return R.layout.activity_main;
}
private void loadData() {
httpUtils.getDatFromServer(api, this);
}
//返回成功
public void onSuccess(String result) {
Gson gson = new Gson();
MainBean mainBean = gson.fromJson(result, MainBean.class);
if (isPull) {
isPull = !isPull;
dataBeanList.clear();
}
//添加数据
dataBeanList.addAll(mainBean.getResult().getData());
//更新数据
adapter.notifyDataSetChanged();
//停止数据
pull_list.onRefreshComplete();
}
public void onError(String errorMsg) {
}
//点击跳转事件
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(this, WebActivity.class);
MainBean.ResultBean.DataBean item = adapter.getItem(i);
intent.putExtra("url", item.getUrl());
startActivity(intent);
}
}
--------------这是main的布局,我在里面布置了一个抽屉(侧滑)
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <com.handmark.pulltorefresh.library.PullToRefreshListView android:id="@+id/pull_to_refresh_list" android:layout_width="match_parent" android:layout_height="match_parent"></com.handmark.pulltorefresh.library.PullToRefreshListView> </LinearLayout> <RelativeLayout android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/white"></RelativeLayout> </android.support.v4.widget.DrawerLayout>