XlistView刷新加载和Banner轮播
2017-11-17 16:06
134 查看
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.TextView; import com.bwei.monthsynthesize_demo.R; import com.bwei.monthsynthesize_demo.bean.XlvData; import com.bwei.monthsynthesize_demo.utils.NetWorlUtil; import com.bwie.xlistviewlibrary.View.XListView; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader; import com.youth.banner.Banner; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; public class ChildFrag2 extends Fragment implements XListView.IXListViewListener { private String urlstrs = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; private String[] urls1 = { "http://f2.kkmh.com/image/160715/42qtqpfsd.webp-w188", "http://f2.kkmh.com/image/171114/Q4Cv0N6hO.webp-w640", "http://f2.kkmh.com/image/160511/chrrrrs4v.webp-w640", "http://f2.kkmh.com/image/171114/9c70n8gv4.webp-w640" }; private XListView xListView; List<XlvData.DataBean> list = new ArrayList<XlvData.DataBean>(); private Myxlvadapter myxlvadapter; private ImageLoader instance; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.childfrag2_layout, null); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); xListView = view.findViewById(R.id.xlv); View inflate = View.inflate(getActivity(), R.layout.banner_layout, null); //获取bannerview Banner vbanner = inflate.findViewById(R.id.banner); //设置图片工具 vbanner.setImageLoader(new MyImageloader()); //设置图片 vbanner.setImages(Arrays.asList(urls1)); //开启 vbanner.start(); //添加到XListView头部 xListView.addHeaderView(inflate); instance = ImageLoader.getInstance(); //设置支持上下拉加载 xListView.setPullLoadEnable(true); //设置xlistView事件 xListView.setXListViewListener(this); //设置适配器 myxlvadapter = new Myxlvadapter(); xListView.setAdapter(myxlvadapter); //获取数据 getInit(); } //初始化数据 private void getInit() { new MAsyncTask().execute(urlstrs); } //下拉刷新 @Override public void onRefresh() { list.clear(); getInit(); } //上拉加载 @Override public void onLoadMore() { getInit(); } //适配器 private class Myxlvadapter extends BaseAdapter { @Override public int getCount() { return list.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) { Holder holder = null; if (view == null) { holder = new Holder(); view = View.inflate(getActivity(), R.layout.childfrag_item_layout, null); holder.tv = view.findViewById(R.id.tv); holder.iv = view.findViewById(R.id.iv); view.setTag(holder); } else { holder = (Holder) view.getTag(); } holder.tv.setText(list.get(i).getNews_title()); instance.displayImage(list.get(i).getPic_url(), holder.iv,new NetWorlUtil().getDisk()); return view; } } class Holder { TextView tv; ImageView iv; } //刷新完成后隐藏头部和底部 public void complet(){ xListView.stopRefresh(); xListView.stopLoadMore(); Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); xListView.setRefreshTime(simpleDateFormat.format(date)); } //Asynctask类 private class MAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { return NetWorlUtil.getNetJson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); XlvData xlvData = new Gson().fromJson(s, XlvData.class); List<XlvData.DataBean> data1 = xlvData.getData(); list.addAll(data1); myxlvadapter.notifyDataSetChanged(); complet(); } } private class MyImageloader extends com.youth.banner.loader.ImageLoader{ @Override public void displayImage(Context context, Object path, ImageView imageView) { ImageLoader.getInstance().displayImage((String) path,imageView); } } }
相关文章推荐
- Android——Xlistview上拉刷新下拉加载
- 上拉刷新下拉加载xlistview--------activity_main
- xListView上拉刷新下拉加载
- Listview利用librarypull实现上拉刷新下拉加载
- 实现ListView的上拉刷新和下拉加载
- jquery mobile listview加载json数据,刷新view
- SUI 实现上拉刷新,下拉加载更多通用ListView
- 再也不用担心下拉刷新,上拉加载啦!-自定义ListView对上拉刷新,上拉加载的详解
- 自定义ListView上拉刷新,下拉加载更多(一)
- Xlistview的应用1(上拉刷新,下拉加载)
- (一个常用的案例)Fragment xlistview pull 网络请求 刷新分页加载 ImageLoader
- ListView上拉刷新,数据的分批加载小demo
- Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表
- Android自定义View之快速实现下拉刷新, 点击加载更多ListView
- 使用安卓自带刷新控件实现ListView的上拉加载和下拉刷新
- TabLayout横向滑动,DrawerLayout侧滑,PullToRefreshListView上拉刷新下拉加载联用
- ReactNative ListView + 上拉加载更多 + 下拉刷新
- Android通过XListView实现上拉加载下拉刷新功能
- xlistview上拉刷新和下拉加载
- PullToRefresh 上拉刷新,下拉加载网络数据 ListView