import android.content.Context; 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.ListView; import android.widget.TextView; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshListView; import com.nostra13.universalimageloader.core.ImageLoader; import com.xinzhengwei.monisanzhou.R; import com.xinzhengwei.monisanzhou.com.bawie.bean.Goods; import com.xinzhengwei.monisanzhou.com.bawie.util.ImageLoderUtil; import com.xinzhengwei.monisanzhou.com.bawie.util.Utils; import com.youth.banner.Banner; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Created by 辛政维 on 2017/11/18. */ public class Fr1zi extends Fragment{ int num=1; private PullToRefreshListView plv; private String urlstring="http://api.expoon.com/AppNews/getNewsList/type/1/p/"+num; ArrayList<Goods.DataBean> datalist=new ArrayList<>(); private ImageLoader instance; private adapter adap; String[] imageurl={"http://pic8.nipic.com/20100701/5290458_114840036316_2.jpg",//海 "http://pic2.nipic.com/20090424/1468853_230119053_2.jpg",//亭子 "http://img3.3lian.com/2013/s1/20/d/57.jpg",//白房子 "http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg",//华 "http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"}; private Banner bn; private ListView lv; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fr1zi, null); View banner = inflater.inflate(R.layout.lunbo_main, null); //init(); plv = view.findViewById(R.id.plv); bn = banner.findViewById(R.id.bn); lv = plv.getRefreshableView(); lv.addHeaderView(banner); return view; } public void getdata(){ bn.setImageLoader(new Mode()); bn.setImages(Arrays.asList(imageurl)); bn.start(); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); instance = ImageLoader.getInstance(); getdata(); plv.setMode(PullToRefreshBase.Mode.BOTH); adap = new adapter(); plv.setAdapter(adap); plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { datalist.clear(); init(1); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { init(num++); } }); } private class Mode extends com.youth.banner.loader.ImageLoader{ @Override public void displayImage(Context context, Object path, ImageView imageView) { instance.displayImage((String)path,imageView); } } public void init(int num){ new Masyctask().execute(urlstring); } public class Masyctask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { return Utils.getdata(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson=new Gson(); Goods goods = gson.fromJson(s, Goods.class); List<Goods.DataBean> data = goods.getData(); datalist.addAll(data); adap.notifyDataSetChanged(); plv.onRefreshComplete(); } } class adapter extends BaseAdapter{ private Hadler hadler; @Override public int getCount() { return datalist.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if (view==null){ hadler = new Hadler(); view = View.inflate(getActivity(), R.layout.text_main, null); hadler.iv = view.findViewById(R.id.iv); hadler.tv = view.findViewById(R.id.tv); view.setTag(hadler); }else { hadler = (Hadler)view.getTag(); } instance.displayImage(datalist.get(i).getPic_url(),hadler.iv,ImageLoderUtil.getDisplayImageOption()); hadler.tv.setText(datalist.get(i).getNews_title()); return view; } } class Hadler{ private ImageView iv; private TextView tv; } }
banner加PullToRefreshListView
最新推荐文章于 2018-11-16 20:27:15 发布