//编辑代码之前需要实现
implements XListView.IXListViewListener
//主页面
package com.example.lx010400; import android.os.AsyncTask; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; import com.bwie.xlistviewlibrary.View.XListView; import com.bwie.xlistviewlibrary.utils.NetWordUtils; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import adapter.MyAdapter; import bean.MyBean; public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{ String url = "http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=2016041109160"; String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/"; int page; private XListView xlv; private MyAdapter adapter; private List<MyBean.DataBean> list = new ArrayList<>(); private DrawerLayout drawerLayout; private LinearLayout ll; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ll = findViewById(R.id.ll); btn = findViewById(R.id.btn); drawerLayout = findViewById(R.id.drawerLayout); initDate(); xlv = findViewById(R.id.xlv); adapter = new MyAdapter(list,MainActivity.this); xlv.setAdapter(adapter); //允许上拉加载 xlv.setPullLoadEnable(true); //设置上下拉监听 xlv.setXListViewListener(this); //网络请求+解析 getNetData(0); } private void getNetData(int page) { new initData().execute(path+page); } //侧拉 private void initDate() { ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"这是侧拉栏",Toast.LENGTH_SHORT).show(); } }); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"随便写了一点东西",Toast.LENGTH_SHORT).show(); } }); } private class initData extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { return NetWordUtils.getNetjson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); MyBean myBean = gson.fromJson(s, MyBean.class); List<MyBean.DataBean> data = myBean.getData(); list.addAll(data); //更新适配器 adapter.notifyDataSetChanged(); stop();//停止刷新 } } //下拉 @Override public void onRefresh() { // 清空集合 list.clear(); //请求新数据 getNetData(0); // new AsyncTask<String, String, String>() { // @Override // protected String doInBackground(String... strings) { // return NetWordUtils.getNetjson(url+i); // } // // @Override // protected void onPostExecute(String s) { // super.onPostExecute(s); // Gson gson = new Gson(); // SuperClass superClass = gson.fromJson(s, SuperClass.class); // List<SuperClass.ResultBean.RowsBean> rows = superClass.getResult().getRows(); // adapter = new MyAdapter(rows,MainActivity.this); // xlv.setAdapter(adapter); // stop(); // } // }.execute(); //更新适配器 } //上拉 @Override public void onLoadMore() { //大集合中添加数据 page++; getNetData(page); // new AsyncTask<String, String, String>() { // @Override // protected String doInBackground(String... strings) { // return NetWordUtils.getNetjson(url+i); // } // // @Override // protected void onPostExecute(String s) { // super.onPostExecute(s); // Gson gson = new Gson(); // SuperClass superClass = gson.fromJson(s, SuperClass.class); // List<SuperClass.ResultBean.RowsBean> rows = superClass.getResult().getRows(); // list.addAll(rows); // adapter = new MyAdapter(list,MainActivity.this); // xlv.setAdapter(adapter); // adapter.notifyDataSetChanged(); // stop(); // } // }.execute(); } public void stop(){ xlv.stopLoadMore(); xlv.stopRefresh(); //获得时间 xlv.setRefreshTime("刚刚"+System.currentTimeMillis()); } }//布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.lx010400.MainActivity">
<com.bwie.xlistviewlibrary.View.XListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/xlv"></com.bwie.xlistviewlibrary.View.XListView>
<LinearLayout
android:layout_width="320dp"
android:layout_height="match_parent"
android:background="@color/colorAccent"
android:orientation="vertical"
android:layout_gravity="start"
android:id="@+id/ll">
<ImageView
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/ic_launcher_background"
android:layout_gravity="center"
android:layout_margin="10dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="哈哈哈哈"
android:textSize="30dp"
android:layout_margin="10dp"
android:layout_gravity="center"
android:gravity="center"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你猜猜"
android:textSize="20dp"
android:id="@+id/btn"
android:layout_margin="10dp"
android:layout_gravity="center"
android:gravity="center"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>