TabLayout和banner与XLISTView混合运用
来源:互联网 发布:it服务外包最大 编辑:程序博客网 时间:2024/06/15 11:25
//布局文件xml文件<?xml version="1.0" encoding="utf-8"?><LinearLayout android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="30dp"/> <com.youth.banner.Banner android:id="@+id/xlv_banner" android:layout_width="match_parent" android:layout_height="130dp"></com.youth.banner.Banner> <com.bwie.xlistviewlibrary.View.XListView android:id="@+id/xlv" android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLayout>//Activity文件package com.lbp.demo9.frag;import android.content.Context;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.design.widget.TabLayout;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.bwie.xlistviewlibrary.View.XListView;import com.google.gson.Gson;import com.lbp.demo9.R;import com.lbp.demo9.bean.MyBean;import com.lbp.demo9.util.GetJsonUtil;import com.nostra13.universalimageloader.core.ImageLoader;import com.youth.banner.Banner;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2017/11/16 0016. */public class ChildFragment2 extends Fragment implements XListView.IXListViewListener{ private List<String> listdata = new ArrayList<>(); private View view; private TabLayout tablayout; private String uristr="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=15"; private Banner xlv_banner; private XListView xlv; private MyAdapter adapter; private String uri1; int aa=1; private List<MyBean.DataBean> listbean = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.child2, container, false); initab(); initbanner(); initXlist(); return view; } private void initXlist() { xlv = view.findViewById(R.id.xlv); xlv.setPullLoadEnable(true); //让XListView有上拉加载的功能; xlv.setXListViewListener(this); setUri(1); adapter = new MyAdapter(); new MyAsycnTask().execute(uri1); xlv.setAdapter(adapter); } class MyAsycnTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { String s = GetJsonUtil.getjson(strings[0]); return s; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); MyBean bean = gson.fromJson(s, MyBean.class); List<MyBean.DataBean> data = bean.getData(); listbean.addAll(data); adapter.notifyDataSetChanged(); uiComplete(); } } public void setUri(int cc) { uri1 = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum="+cc; } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return listbean.size(); } @Override public Object getItem(int i) { return listbean.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if(view==null){ view = View.inflate(getActivity(), R.layout.item1, null); } TextView tv = view.findViewById(R.id.tv1111); tv.setText(listbean.get(i).getTITLE()); return view; } } private void initbanner() { new MyTask().execute(uristr); xlv_banner = view.findViewById(R.id.xlv_banner); xlv_banner.setImageLoader(new MyImageloader()); xlv_banner.setImages(listdata); xlv_banner.start(); } @Override public void onRefresh() { listbean.clear(); aa = 1; setUri(aa); new MyAsycnTask().execute(uri1); } @Override public void onLoadMore() { aa++; setUri(aa); new MyAsycnTask().execute(uri1); } class MyTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { String s = GetJsonUtil.getjson(strings[0]); return s; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); MyBean bean = gson.fromJson(s, MyBean.class); List<MyBean.DataBean> data = bean.getData(); for (int i = 0; i < data.size() ; i++) { listdata.add(data.get(i).getIMAGEURL()); } xlv_banner.setImageLoader(new MyImageloader()); xlv_banner.setImages(listdata); xlv_banner.start(); } } private void initab() { tablayout = view.findViewById(R.id.tablayout); tablayout.setTabMode(TabLayout.MODE_FIXED); TabLayout.Tab tab1 = tablayout.newTab().setText("科技"); tablayout.addTab(tab1,true); TabLayout.Tab tab2 = tablayout.newTab().setText("国内"); tablayout.addTab(tab2,true); TabLayout.Tab tab3 = tablayout.newTab().setText("国外"); tablayout.addTab(tab3,true); TabLayout.Tab tab4 = tablayout.newTab().setText("生活"); tablayout.addTab(tab4,true); } 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); } } private void uiComplete(){ xlv.stopRefresh();//停止刷新 xlv.stopLoadMore();//停止上拉加载更多 //Calendar instance = Calendar.getInstance(); }}
阅读全文
1 0
- TabLayout和banner与XLISTView混合运用
- 实现Banner,TabLayout,XlistView
- Tablayout与XListView
- handle发送get和post请求网络数据+多条目加载+banner+xlistview+TabLayout
- Fragment隐藏显示与DrawerLayout侧拉 Banner与PullToRefreshListView 和 Banner与xlistview分类加载数据
- TabLayout+XlistView
- XlistView刷新加载和Banner轮播
- Tablayout与Viewpager里添加Xlistview实现上拉下拉
- banner+xlistview+多条目展示
- xlistview+banner无限轮播
- TabLayout+Xlistview+第三方登录
- XListView 的运用步骤
- substr与instr的混合运用
- Python中的lambda和Map混合运用
- enum和bitset混合运用场景
- DrawerLayout,TabLayout和xlistview网络请求数据(类似今日头条)
- TabLayout的简单运用和若干问题的解决
- TabLayout的简单运用和若干问题的解决
- LAMP环境搭建系列之一:Oracle VM VirtualBox 安装 CentOS 6.9
- Android Studio打包时,已经混淆的jar文件报错(Unknown verification type [*] in stack map frame)
- Record of circos usage
- 如何使用可用性集
- 声码器简介
- TabLayout和banner与XLISTView混合运用
- OpenGL – Lighting
- selenium之 chromedriver与chrome版本映射表(更新至v2.33
- java调用打印机
- jemeter如何下载安装
- XlistView刷新加载和Banner轮播
- 在 Linux 上创建虚拟机规模集和部署高度可用的应用
- Paper Reading:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- html图片加载失败时显示默认图片