public class Frag01 extends Fragment {
private String uri = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
private XListView xListView;
private ArrayList<JsonBean.DataBean> list = new ArrayList<JsonBean.DataBean>();
private MyXlistAdapter adapter;
private int n;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag01, container, false);
xListView = view.findViewById(R.id.listView);
final DrawerLayout drawerLayout = view.findViewById(R.id.drawer);
ListView listView = view.findViewById(R.id.clistView);
//適配器
adapter = new MyXlistAdapter(getActivity(), list);
xListView.setAdapter(adapter);
listView.setAdapter(adapter);
//使用異步
ybDate(0);
//允許上拉
xListView.setPullLoadEnable(true);
//xlistView事件
xListView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
list.clear();
ybDate(0);
n = 0;
}
@Override
public void onLoadMore() {
n++;
ybDate(n);
}
});
//側拉監聽
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(@NonNull View view, float v) {
//正在拉的過程
}
@Override
public void onDrawerOpened(@NonNull View view) {
//打開的時候
}
@Override
public void onDrawerClosed(@NonNull View view) {
//關閉的時候
Toast.makeText(getActivity(), "拉回", Toast.LENGTH_SHORT).show();
}
@Override
public void onDrawerStateChanged(int i) {
//狀態改變的時候;
}
});
//側拉條目點擊
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//側拉回去
drawerLayout.closeDrawers();//關掉drawerlayout
}
});
return view;
}
private void ybDate(int s) {
new MyAsyncTask().execute(uri + s);
}
//異步
class MyAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
String netjson = NetWordUtils.getNetjson(strings[0]);
return netjson;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//解析
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
//添加到集合中
list.addAll(jsonBean.getData());
adapter.notifyDataSetChanged();
uriRefresh();
}
//下拉刷新
private void uriRefresh() {
xListView.stopLoadMore();
xListView.stopRefresh();
xListView.setRefreshTime("剛剛");
}
}
}
//佈局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.bwie.xlistviewlibrary.view.XListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"></com.bwie.xlistviewlibrary.view.XListView>
<ListView
android:id="@+id/clistView"
android:layout_width="150dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#aadd"></ListView>
</android.support.v4.widget.DrawerLayout>