xListView的主方法

来源:互联网 发布:iphone和ipad软件同步 编辑:程序博客网 时间:2024/06/12 05:01
import android.content.Intent;import android.graphics.Bitmap;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.Toast;import com.bwie.test.adapter.MyAdapter;import com.bwie.test.bean.News;import com.bwie.test.xlistUtils.xlistview.HomeActivity;import com.bwie.test.xlistUtils.xlistview.XListView;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;public class MainActivity extends AppCompatActivity  implements AdapterView.OnItemClickListener,XListView.IXListViewListener{    private XListView lv;    private List<News.ResultBean.DataBean> data;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        new MyAsyncTask().execute("http://v.juhe.cn/toutiao/index?type=top&key=c1885686ef47f19bcb45e39c4447e040");    }    private void initView() {        lv = (XListView) findViewById(R.id.lv);        lv.setOnItemClickListener(this);        lv.setPullLoadEnable(true);//xlistview可用        lv.setXListViewListener(this);//类实现接口,必须给接口赋值才能使用!    }    @Override    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {        Intent intent = new Intent(this, HomeActivity.class);        intent.putExtra("url",data.get(i).getUrl());        startActivity(intent);    }    @Override    public void onRefresh() {        new MyAsyncTask().execute("http://v.juhe.cn/toutiao/index?type=top&key=c1885686ef47f19bcb45e39c4447e040");        Toast.makeText(this,"上拉刷新",Toast.LENGTH_LONG).show();    }    @Override    public void onLoadMore() {        new MyAsyncTask().execute("http://v.juhe.cn/toutiao/index?type=top&key=c1885686ef47f19bcb45e39c4447e040");        Toast.makeText(this,"下拉加载",Toast.LENGTH_LONG).show();    }    private class MyAsyncTask extends AsyncTask<String,Void,String> {        @Override        protected String doInBackground(String... strings) {            StringBuffer result = new StringBuffer();            try {                URL url = new URL(strings[0]);                HttpURLConnection connection = (HttpURLConnection) url.openConnection();                connection.setRequestMethod("GET");                connection.connect();                if(200 == connection.getResponseCode()){                    InputStream inputStream = connection.getInputStream();                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));                    String line = null;                    while ((line = bufferedReader.readLine()) != null){                        result.append(line);                    }                    System.out.println("result = " + result.toString());                }                return result.toString();            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            System.out.println("s = " + s);                Gson gson = new Gson();                News news = gson.fromJson(s, News.class);            System.out.println("news = " + news);                News.ResultBean result = news.getResult();                data = result.getData();                MyAdapter adapter = new MyAdapter(MainActivity.this,data);                lv.setAdapter(adapter);            //停止下啦刷新的header            lv.stopRefresh();            //停止上拉加载更多的footer            lv.stopLoadMore();        }    }}
原创粉丝点击