zoukankan      html  css  js  c++  java
  • 单纯的xlistview

    public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{
    
        private XListView xlv;
        private int page=1;
        private boolean flag;
        private List<Bean.ResultBean.DataBean> list;
        private MyBaseadapter adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            xlv = (XListView) findViewById(R.id.xlv);
            xlv.setPullLoadEnable(true);
            xlv.setXListViewListener(this);
            data();
        }
        public void data(){
            jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn="+page+"");
        }
        public void jiexi(String path){
              new AsyncTask<String,Void,String>(){
                  @Override
                  protected void onPostExecute(String s) {
                      if (s!=null){
                          Gson gson=new Gson();
                          Bean bean = gson.fromJson(s, Bean.class);
                          list = bean.getResult().getData();
                          if (adapter==null) {
                              adapter = new MyBaseadapter(MainActivity.this, list);
                              xlv.setAdapter(adapter);
                          }else{
                              adapter.sss(list,flag);
                          }
                      }
                  }
    
                  @Override
                  protected String doInBackground(String... params) {
                      try {
                          URL url=new URL(params[0]);
                          HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                          connection.setRequestMethod("GET");
                          connection.setReadTimeout(3000);
                          connection.setConnectTimeout(3000);
                          int code = connection.getResponseCode();
                          if (code==200){
                              InputStream is = connection.getInputStream();
                              return info.readFromNetWork(is);
                          }
                      } catch (Exception e) {
                          e.printStackTrace();
                      }
                      return null;
                  }
              }.execute(path);
        }
    
        @Override
        public void onRefresh() {
            flag=false;
            ++page;
            data();
            xlv.stopRefresh(true);
        }
    
        @Override
        public void onLoadMore() {
            flag=true;
            ++page;
            data();
            xlv.stopLoadMore();
        }
    }
    public class MyBaseadapter extends BaseAdapter {
        private List<Bean.ResultBean.DataBean> list;
        private Context context;
        public MyBaseadapter(Context context, List<Bean.ResultBean.DataBean> list) {
            this.context=context;
            this.list=list;
        }
        public void sss(List<Bean.ResultBean.DataBean> data,boolean flag){
            for (Bean.ResultBean.DataBean s:  data) {
                    if (flag){
                        list.add(s);
                    }else{
                        list.add(0,s);
                    }
            }
            notifyDataSetChanged();
        }
    
        @Override
        public int getCount() {
            return list!=null?list.size():0;
        }
    
        @Override
        public Object getItem(int position) {
            return null;
        }
    
        @Override
        public long getItemId(int position) {
            return 0;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            convertView=View.inflate(context,R.layout.item,null);
            ImageView image= (ImageView) convertView.findViewById(R.id.image);
            TextView tv= (TextView) convertView.findViewById(R.id.textView);
            ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(0),image,appliction.getImageOptions());
            tv.setText(list.get(position).getTitle());
            return convertView;
        }
    }
  • 相关阅读:
    powermock测试
    一些疑惑
    Java基础总结3
    Java学习路线
    Java基础总结2
    关于我
    翻转单词序列
    和为s的两个数字
    和为s的连续正数序列
    数组中只出现一次的数字
  • 原文地址:https://www.cnblogs.com/leshen/p/7422778.html
Copyright © 2011-2022 走看看