Xlistview

package com.example.yue3;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.xlistview_library.XListView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Handler;

/**
 * Created by  on 2017/9/20.
 */

public class f1 extends Fragment implements XListView.IXListViewListener{
    String path="http://gank.io/api/data/Android/10/1";
    private XListView xlv;
    List<User.ResultsBean> arr=new ArrayList<User.ResultsBean>();
    private Madapter madapter;
    private Handler hd;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.f11, container, false);
        xlv =(XListView)inflate.findViewById(R.id.xlv);
        return inflate;
    }

    public static Fragment geto(String ss){
        f1 ff = new f1();
        Bundle bundle = new Bundle();
        bundle.putString("name",ss);
        ff.setArguments(bundle);
        return ff;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Bundle arguments = getArguments();
        String string = arguments.getString("name");

        xlv.setPullLoadEnable(true);//必加
        madapter = new Madapter();//适配器
        xlv.setAdapter(madapter);
        xlv.setXListViewListener(this);
        new MasayTask().execute(path);
    }

    //异步
    class MasayTask extends AsyncTask<String,Void,String>{
        @Override
        protected String doInBackground(String... params) {
            try {
                URL url = new URL(path);
                HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
                int responseCode = urlConnection.getResponseCode();
                if (responseCode==200){
                    InputStream inputStream = urlConnection.getInputStream();
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                    StringBuilder builder = new StringBuilder();
                    String string="";
                    while ((string=bufferedReader.readLine())!=null){
                        builder.append(string);
                    }
                    return builder.toString();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            User user = gson.fromJson(s, User.class);
            List<User.ResultsBean> results = user.getResults();
            arr.addAll(results);
            madapter.notifyDataSetChanged();
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
        }
    }

    public void onLoad(){
        xlv.stopRefresh();
        xlv.stopLoadMore();
        xlv.setRefreshTime("刚刚");
    }

    //适配器
    class Madapter extends BaseAdapter{
        @Override
        public int getItemViewType(int position) {
            if (arr.get(position).getImages()==null){
                return 0;
            }
            return 1;
        }

        @Override
        public int getViewTypeCount() {
            return 2;
        }

        @Override
        public int getCount() {
            return arr.size();
        }

        @Override
        public Object getItem(int position) {
            return arr.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            int itemViewType = getItemViewType(position);
            User.ResultsBean resultsBean = arr.get(position);
            switch (itemViewType){
                case 0:
                    ViewHolder1 vh1;
                    if (convertView==null){
                        convertView = View.inflate(getActivity(), R.layout.duo2, null);
                        vh1=new ViewHolder1();
                        vh1.tv1=(TextView) convertView.findViewById(R.id.tv1);
                        convertView.setTag(vh1);
                    }else{
                        vh1=(ViewHolder1) convertView.getTag();
                    }
                    vh1.tv1.setText(resultsBean.getDesc());
                    break;
                case 1:
                    ViewHolder vh;
                    if (convertView==null){
                        convertView = View.inflate(getActivity(), R.layout.duo, null);
                        vh = new ViewHolder();
                        vh.tv=(TextView) convertView.findViewById(R.id.tv);
                        vh.img=(ImageView) convertView.findViewById(R.id.img);
                        convertView.setTag(vh);
                    }else{
                        vh=(ViewHolder) convertView.getTag();
                    }
                    vh.tv.setText(resultsBean.getDesc());
                    ImageLoader.getInstance().displayImage(resultsBean.getImages().get(0),vh.img);
                    break;
            }
            return convertView;
        }
        class ViewHolder{
            ImageView img;
            TextView tv;
        }
        class ViewHolder1{
            TextView tv1;
        }
        }



    @Override
    public void onRefresh() {
       arr.clear();
        new MasayTask().execute("http://gank.io/api/data/Android/10/1");
       onLoad();
    }

    @Override
    public void onLoadMore() {
        new MasayTask().execute("http://gank.io/api/data/Android/10/1");
        onLoad();
    }
}






                
需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值