XListView 下拉刷新 上拉记载 (此方法只能在Android Studio中使用!)

用到的只有不过10左右代码  如下 :


public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
    XListView xlist;
    List data = new ArrayList();
    private int aa = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       //XListView 控件
        xlist = (XListView) findViewById(R.id.xlist);
        //调用解析数据的方法
        Shua();
        //允许上拉加载
        xlist.setPullLoadEnable(true);
         //允许下拉刷新
        xlist.setPullRefreshEnable(true);
         //在当前页面的监听
        xlist.setXListViewListener(MainActivity.this);
}
//定义一个方法 里面写解析的代码    public void Shua() {    
//使用异步 来解析   AsyncTask此方法和Hander显示  不过是轻量级的   
   
          new AsyncTask() {    
        
	 //实现俩个方法doInBackground () 和onPostExecute()       
            @Override       
	    protected String doInBackground (String...strings){      
		String str = "";       
		try {            
			//获取连接          
			URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=" + aa);       
			HttpURLConnection conne = (HttpURLConnection) url.openConnection();    
			conne.setReadTimeout(5000);           
			conne.setConnectTimeout(5000);          
			int responseCode = conne.getResponseCode();       
			if (responseCode == 200) {               
				InputStream in = conne.getInputStream();        
				byte[] by = new byte[1024];             
				int len = 0;               
				while ((len = in.read(by)) != -1) {       
					str += new String(by, 0, len);         
					}           
				}       
			} catch (MalformedURLException e) {   
				e.printStackTrace();      
				} catch (IOException e) {   
					e.printStackTrace();    
					}        return str;   
					}           
	//实现俩个方法doInBackground () 和onPostExecute()       
	@Override       
	protected void onPostExecute (String s){       
		//使用Gson解析        Gson gson = new Gson();     
		JsonRootBean j = gson.fromJson(s, JsonRootBean.class);  
		data = j.getNewslist();        
		//设置适配器        
		Myadpader myadpader = new Myadpader(data, MainActivity.this);  
		xlist.setAdapter(myadpader);       
		super.onPostExecute(s);   
		}   
	}.execute();
	}
      }	
   }
}
//==========================================重要的在这里============================================
//实现的俩个方法   onRefresh() 和 onLoadMore()
    @Override
    public void onRefresh() {
        data.clear();
        //调用解析数据的方法
        Shua();
        xlist.setRefreshTime("刚刚");
        //停止刷新
        xlist.stopRefresh();

    }

    @Override
    public void onLoadMore() {

        aa++;
        //调用解析数据的方法
        Shua();
        //停止加载
        xlist.stopLoadMore();

    }
}
需要添加(依赖)
 
  

你可能感兴趣的:(XListView 下拉刷新 上拉记载 (此方法只能在Android Studio中使用!))