public class ChildFrag1 extends Fragment {
private PullToRefreshListView pull;
private String urlstr = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0";
private String[] urls = {
"http://f2.kkmh.com/image/160715/42qtqpfsd.webp-w180",
"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"
};
List<PullData.DataBean> list = new ArrayList<PullData.DataBean>();
private MyAdapter myAdapter;
private com.nostra13.universalimageloader.core.ImageLoader instance;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.childfrag1_layout, container, false);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
pull = view.findViewById(R.id.pull);
//设置pull支持上下拉加载
pull.setMode(PullToRefreshBase.Mode.BOTH);
View inflate = View.inflate(getActivity(), R.layout.banner_layout, null);
Banner banner1 = inflate.findViewById(R.id.banner);
//获取可复制视图
ListView listView = pull.getRefreshableView();
//给banner设置加载图片工具
banner1.setImageLoader(new MyImageLoder());
//给banner设置图片
banner1.setImages(Arrays.asList(urls));
//开启
banner1.start();
//添加到listView头部视图
listView.addHeaderView(inflate);
//设置适配器
myAdapter = new MyAdapter();
pull.setAdapter(myAdapter);
//获取数据
getInit();
//设置PullToRefreshListView刷新事件
pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
list.clear();
getInit();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
getInit();
}
});
}
//获取数据方法
private void getInit() {
new MyAsyncTask().execute(urlstr);
}
private class MyImageLoder extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage((String) path, imageView);
}
}
//适配器内部类
private class MyAdapter 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).getTITLE());
instance.displayImage(list.get(i).getIMAGEURL(), holder.iv,new NetWorlUtil().getDisk());
return view;
}
}
class Holder {
TextView tv;
ImageView iv;
}
private class MyAsyncTask 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);
Gson gson = new Gson();
PullData pullData = gson.fromJson(s, PullData.class);a
List<PullData.DataBean> data = pullData.getData();
list.addAll(data);
//刷新数据
myAdapter.notifyDataSetChanged();
pull.onRefreshComplete();
}
}
}
PullToRefreshListView加载和Banner轮播
最新推荐文章于 2018-11-22 14:34:11 发布