//activity_main
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drlayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.dibu.MainActivity"> <com.hjm.bottomtabbar.BottomTabBar android:id="@+id/bottomTabBar" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true"></com.hjm.bottomtabbar.BottomTabBar> <RelativeLayout android:id="@+id/rel" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#ffff00"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:onClick="imageclose" android:src="@drawable/face3" /> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/img" android:layout_gravity="center" android:layout_marginTop="200dp"></ListView> </LinearLayout> </RelativeLayout> </android.support.v4.widget.DrawerLayout>
//frag1
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <com.handmark.pulltorefresh.library.PullToRefreshScrollView android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:id="@+id/iv" android:layout_width="match_parent" android:layout_height="250dp" android:src="@mipmap/ic_launcher" /> <com.example.dibu.MyListView android:id="@+id/mlv" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="2"></com.example.dibu.MyListView> </LinearLayout> </com.handmark.pulltorefresh.library.PullToRefreshScrollView> </LinearLayout>//frag2
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <q.rorbin.verticaltablayout.VerticalTabLayout android:id="@+id/vtp" android:layout_width="100dp" android:layout_height="match_parent"></q.rorbin.verticaltablayout.VerticalTabLayout> <android.support.v4.view.ViewPager android:id="@+id/vtbvp" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v4.view.ViewPager> </LinearLayout>
//frag3
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="match_parent" android:layout_height="40dp"></android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v4.view.ViewPager> </LinearLayout>//frag4
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="购物车" android:textColor="#f00" /> </LinearLayout>item
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <ImageView android:id="@+id/img" android:layout_width="100dp" android:layout_height="100dp" /> <TextView android:id="@+id/tv_title" android:layout_width="100dp" android:layout_height="50dp" android:gravity="center" /> </LinearLayout>//item1
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="100dp" android:gravity="center" /> </LinearLayout>item2
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:id="@+id/img" android:layout_width="100dp" android:layout_height="100dp" /> <TextView android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="100dp" android:gravity="center" /> </LinearLayout>//page2
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.dibu.MyListView android:id="@+id/mlv" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3"></com.example.dibu.MyListView> </LinearLayout>//MainActivity
package com.example.dibu; //com.hjm:BottomTabBar:1.1.1 import android.graphics.Color; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.RelativeLayout; import com.example.dibu.Frag.Fragment01; import com.example.dibu.Frag.Fragment02; import com.example.dibu.Frag.Fragment03; import com.example.dibu.Frag.Fragment04; import com.example.dibu.Frag.Fragment05; import com.hjm.bottomtabbar.BottomTabBar; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private BottomTabBar bottomTabBar; private DrawerLayout drawerLayout; private ListView listView; private RelativeLayout rel; private List<String> lists = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); drawerLayout = (DrawerLayout) findViewById(R.id.drlayout); listView = (ListView) findViewById(R.id.lv); rel = (RelativeLayout) findViewById(R.id.rel); drawerLayout.openDrawer(rel); //drawerLayout lists.add("个人设置"); lists.add("缓存"); lists.add("夜间模式"); lists.add("配置"); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lists); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //关闭侧滑菜单 drawerLayout.closeDrawer(rel); drawerLayout.openDrawer(rel);//打开侧滑菜单 //设置参数 // Content content = new Content(); // Bundle bundle = new Bundle(); // bundle.putString("value", lists.get(position)); // content.setArguments(bundle); //切换fragment //getSupportFragmentManager().beginTransaction().replace(R.id.fcontent, content).commit(); } }); drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() { //slideOffset:侧滑菜单 宽度的像素值 @Override public void onDrawerSlide(View drawerView, float slideOffset) { } @Override public void onDrawerOpened(View drawerView) { Log.d("zzz", "open"); } @Override public void onDrawerClosed(View drawerView) { Log.d("zzz", "close"); } @Override public void onDrawerStateChanged(int newState) { Log.d("zzz", "状态改变:" + newState); } }); bottomTabBar = (BottomTabBar) findViewById(R.id.bottomTabBar); bottomTabBar.init(getSupportFragmentManager()) .setImgSize(40, 40) .setFontSize(15) .setTabPadding(4, 6, 10) .setChangeColor(Color.RED, Color.DKGRAY) .addTabItem("首页", R.drawable.abc, Fragment01.class) .addTabItem("分类", R.drawable.abc, Fragment02.class) .addTabItem("发现", R.drawable.abc, Fragment03.class) .addTabItem("购物车", R.drawable.abc, Fragment04.class) .addTabItem("我的", R.drawable.abc, Fragment05.class) .isShowDivider(false) .setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() { @Override public void onTabChange(int position, String name) { } }); } public void imageclose(View v) { drawerLayout.closeDrawer(rel); } }//MyListView
package com.example.dibu; import android.content.Context; import android.util.AttributeSet; import android.widget.GridView; public class MyListView extends GridView { public MyListView(Context context) { super(context); } public MyListView(Context context, AttributeSet attrs) { super(context, attrs); } public MyListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }//MImageLoader
package com.example.dibu.Utils; import android.content.Context; import android.widget.ImageView; import com.youth.banner.loader.ImageLoader; public class MImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { com.nostra13.universalimageloader.core.ImageLoader instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance(); instance.displayImage((String) path, imageView); } }//Frag1
package com.example.dibu.Frag; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ScrollView; import com.example.dibu.Adapter.MyAdapter; import com.example.dibu.Bean.Result; import com.example.dibu.MyListView; import com.example.dibu.R; import com.example.dibu.Utils.MyTask; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.ILoadingLayout; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import com.nostra13.universalimageloader.core.ImageLoader; import com.youth.banner.Banner; import java.util.ArrayList; import java.util.List; public class Fragment01 extends Fragment { private PullToRefreshScrollView rsv; private MyListView mlv; private Banner banner; private List<String> list = new ArrayList<>(); private int pageIndex = 0; private ArrayList<Result.DataEntity> lists = new ArrayList<Result.DataEntity>(); private MyAdapter adapter; private ImageView iv; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); Log.e("这是第", msg.what + "个"); ImageLoader.getInstance().displayImage(list.get(msg.what), iv); } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = View.inflate(getContext(), R.layout.frag1, null); rsv = (PullToRefreshScrollView) v.findViewById(R.id.scroll); mlv = (MyListView) v.findViewById(R.id.mlv); iv = (ImageView) v.findViewById(R.id.iv); // banner = (Banner) v.findViewById(R.id.banner); // banner.setImageLoader(new MImageLoader()); // //设置含有图片路径的集合 // banner.setImages(list); // //设置延迟时间 // banner.setDelayTime(3000); // //是否自动轮播 // banner.isAutoPlay(true); // //开启 // banner.start(); // // //请求数据 requestData(); // //初使化refreshScrollView intRefreshScrollView(); initImage(); return v; } private void initImage() { list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151721118&di=649c9a43aed72fbc4d99ec1a031510c6&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F015c7d574b9f8f6ac72525aee98351.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151956771&di=0eb6f306991d24b67a13ceb336f80102&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F00613def3f1beb7a35ae136341be2b589bc46a2d.jpg_320x200.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151847685&di=c7a4b5d08ec43fa629bcb690039a7629&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_080625%2F20080625_2e91a10c444877e88827vri2ZKdGMvQo.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151825129&di=70bf74b87d8a15cb91a2d79f15ed0eaf&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_081016%2F20081016_fee215664d5740e56c13E2YB8giERFEX.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505746504&di=930c4d677a02328a142d6fa85ed14580&imgtype=jpg&er=1&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_090113%2F20090113_6ac58b42bea94f0b318e1B6BZb5lPZl5.jpg"); new Thread() { @Override public void run() { super.run(); int i = 0; while (true) { handler.sendEmptyMessage(i); try { sleep(3000); } catch (Exception e) { e.printStackTrace(); } i++; if (i == list.size()) { i = 0; } } } }.start(); } private void intRefreshScrollView() { //1.设置模式 rsv.setMode(PullToRefreshBase.Mode.BOTH); //2.通过调用getLoadingLayoutProxy方法,设置下拉刷新状况布局中显示的文字 ,第一个参数为true,代表下拉刷新 ILoadingLayout headLables = rsv.getLoadingLayoutProxy(true, false); headLables.setPullLabel("下拉刷新"); headLables.setRefreshingLabel("正在刷新"); headLables.setReleaseLabel("松开刷新"); //2.设置上拉加载底部视图中显示的文字,第一个参数为false,代表上拉加载更多 ILoadingLayout footerLables = rsv.getLoadingLayoutProxy(false, true); footerLables.setPullLabel("上拉加载"); footerLables.setRefreshingLabel("正在载入..."); footerLables.setReleaseLabel("松开加载更多"); //3.设置监听事件 rsv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) { addToTop(); refreshComplete(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) { addToBottom(); refreshComplete(); } }); } public void refreshComplete() { new Handler().postDelayed(new Runnable() { @Override public void run() { rsv.onRefreshComplete(); } }, 1000); } public void addToBottom() { pageIndex = pageIndex + 20; MyTask myTask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Result result = gson.fromJson(jsonstr, Result.class); //添加到集合中 lists.addAll(result.getData()); //设置适配器 setAdapter(); } }); myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + pageIndex); } public void addToTop() { MyTask myTask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Result result = gson.fromJson(jsonstr, Result.class); //清空集合 lists.clear(); //添加到集合中 lists.addAll(0, result.getData()); //设置适配器 setAdapter(); } }); myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0"); } private void requestData() { MyTask myTask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Result result = gson.fromJson(jsonstr, Result.class); lists.addAll(result.getData()); setAdapter(); } }); myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0"); } public void setAdapter() { if (adapter == null) { adapter = new MyAdapter(lists, getActivity()); mlv.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); } } }//Frag2
package com.example.dibu.Frag; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.dibu.Adapter.MyPager; import com.example.dibu.R; import java.util.ArrayList; import java.util.List; import q.rorbin.verticaltablayout.VerticalTabLayout; public class Fragment02 extends Fragment { private VerticalTabLayout tab; private ViewPager vp; private List<String> tabs = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = View.inflate(getContext(), R.layout.frag2, null); tab = (VerticalTabLayout) v.findViewById(R.id.vtp); vp = (ViewPager) v.findViewById(R.id.vtbvp); tabs.add("箱包手袋"); tabs.add("美妆个护"); tabs.add("钟表珠宝"); tabs.add("手机数码"); tabs.add("电脑办公"); tabs.add("家用电器"); tabs.add("食品生鲜"); tabs.add("酒水饮料"); tabs.add("母婴童装"); vp.setAdapter(new MyPager(getChildFragmentManager(), tabs)); tab.setupWithViewPager(vp);
//Frag3vp.setOffscreenPageLimit(tabs.size());return v; }}
package com.example.dibu.Frag; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.dibu.Adapter.MyPagerAdapter; import com.example.dibu.R; import java.util.ArrayList; import java.util.List; public class Fragment03 extends Fragment { private TabLayout tab; private ViewPager vp; private List<String> tabs = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = View.inflate(getContext(), R.layout.frag3, null); tab = (TabLayout) v.findViewById(R.id.tab); vp = (ViewPager) v.findViewById(R.id.vp); tabs.add("动态"); tabs.add("热门"); tabs.add("发现"); vp.setAdapter(new MyPagerAdapter(getChildFragmentManager(), tabs)); tab.setupWithViewPager(vp); return v; } }//Frag4
package com.example.dibu.Frag; 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 com.example.dibu.R; public class Fragment04 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = View.inflate(getContext(), R.layout.frag4, null); return v; } }//Page2Frag
package com.example.dibu.Frag; 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 com.example.dibu.Adapter.MyAdapter; import com.example.dibu.Bean.Result; import com.example.dibu.MyListView; import com.example.dibu.R; import com.example.dibu.Utils.MyTask; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import java.util.ArrayList; public class Page2Frag extends Fragment { private PullToRefreshScrollView rsv; private MyListView mlv; private int pageIndex = 0; private ArrayList<Result.DataEntity> lists = new ArrayList<Result.DataEntity>(); private MyAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = View.inflate(getContext(), R.layout.page2, null); mlv = (MyListView) v.findViewById(R.id.mlv); requestData(); return v; } private void requestData() { MyTask myTask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Result result = gson.fromJson(jsonstr, Result.class); lists.addAll(result.getData()); setAdapter(); } }); myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=12"); } public void setAdapter() { if (adapter == null) { adapter = new MyAdapter(lists, getActivity()); mlv.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); } } }//RmFrag
package com.example.dibu.Frag; import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bawei.wzq.wzlibrary.view.XListView; import com.example.dibu.Adapter.MyLvAdapter; import com.example.dibu.Bean.Results; import com.example.dibu.R; import com.example.dibu.Utils.MyTask; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class RmFrag extends Fragment { private View v; private XListView xlv; private int pageIndex = 1; private List<Results.ResultsEntity> lists = new ArrayList<>(); private MyLvAdapter lvAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { v = View.inflate(getActivity(), R.layout.count, null); xlv = (XListView) v.findViewById(R.id.xlv); xlv.setPullRefreshEnable(true); xlv.setPullLoadEnable(true); xlv.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { pageIndex = 1; MyTask mytask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Results result = gson.fromJson(jsonstr, Results.class); //要显示的数据-添加到最前面 lists.addAll(0, result.getResults()); //设置适配器 setAdapter(); //关闭视图 new Handler().postDelayed(new Runnable() { @Override public void run() { xlv.stopRefresh(); } }, 1000); } }); mytask.execute("http://gank.io/api/data/Android/10/" + pageIndex); } @Override public void onLoadMore() { pageIndex++; MyTask mytask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Results result = gson.fromJson(jsonstr, Results.class); //要显示的数据 lists.addAll(result.getResults()); //设置适配器 setAdapter(); //关闭视图 new Handler().postDelayed(new Runnable() { @Override public void run() { xlv.stopLoadMore(); } }, 1000); } }); mytask.execute("http://gank.io/api/data/Android/10/" + pageIndex); } }); return v; } public void setAdapter() { if (lvAdapter == null) { lvAdapter = new MyLvAdapter(lists, getActivity()); xlv.setAdapter(lvAdapter); } else { lvAdapter.notifyDataSetChanged(); } } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); requestData(); } private void requestData() { MyTask mytask = new MyTask(new MyTask.Icallbacks() { @Override public void updateUiByjson(String jsonstr) { Gson gson = new Gson(); Results result = gson.fromJson(jsonstr, Results.class); //要显示的数据 lists.addAll(result.getResults()); //设置适配器 setAdapter(); } }); mytask.execute("http://gank.io/api/data/Android/10/" + pageIndex); } }//MyAdapter
package com.example.dibu.Adapter; import android.content.Context; import android.graphics.Bitmap; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.example.dibu.Bean.Result; import com.example.dibu.R; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; public class MyAdapter extends BaseAdapter { private List<Result.DataEntity> datas; private Context context; private DisplayImageOptions options; public MyAdapter(List<Result.DataEntity> datas, Context context) { this.datas = datas; this.context = context; options = new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(true)//使用磁盘缓存 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式 .build(); } @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return datas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = View.inflate(context, R.layout.item, null); holder = new ViewHolder(); holder.tvTitle = (TextView) convertView.findViewById(R.id.tv_title); holder.img = (ImageView) convertView.findViewById(R.id.img); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tvTitle.setText(datas.get(position).getTITLE()); if (datas.get(position).getIMAGEURL() == null || datas.get(position).getIMAGEURL().equals("")) { holder.img.setImageResource(R.mipmap.ic_launcher); } else { //imageLoader加载图片 ImageLoader.getInstance().displayImage(datas.get(position).getIMAGEURL(), holder.img, options); } return convertView; } class ViewHolder { TextView tvTitle; ImageView img; } }//MyLvAdapter
package com.example.dibu.Adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.example.dibu.Bean.Results; import com.example.dibu.R; import com.example.dibu.Utils.ImageloaderUtil; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; public class MyLvAdapter extends BaseAdapter { private List<Results.ResultsEntity> lists; private Context context; //定义视图类型 private final int TYPE_TITLE = 0; private final int TYPE_PIC = 1; public MyLvAdapter(List<Results.ResultsEntity> lists, Context context) { this.lists = lists; this.context = context; } @Override public int getCount() { return lists.size(); } //返回视图类型的数量 @Override public int getViewTypeCount() { return 2; } //根据当前的条目的下标,返回此条目对应的视图类型 @Override public int getItemViewType(int position) { //根据数据去判断返回的类型 Results.ResultsEntity entity = lists.get(position); List<String> imgurl = entity.getImages(); if (imgurl == null) { return TYPE_TITLE; } else { return TYPE_PIC; } } @Override public View getView(int position, View convertView, ViewGroup parent) { //根据position得到视图类型 int type = getItemViewType(position); if (type == TYPE_TITLE) { ViewHolderTitle holderTitle; if (convertView == null) { holderTitle = new ViewHolderTitle(); convertView = View.inflate(context, R.layout.item1, null); holderTitle.textView = (TextView) convertView.findViewById(R.id.tv_title); convertView.setTag(holderTitle); } else { holderTitle = (ViewHolderTitle) convertView.getTag(); } holderTitle.textView.setText(lists.get(position).getDesc()); } else if (type == TYPE_PIC) { ViewHolderPic holderPic; if (convertView == null) { holderPic = new ViewHolderPic(); convertView = View.inflate(context, R.layout.item2, null); holderPic.textView = (TextView) convertView.findViewById(R.id.tv_title); holderPic.imageView = (ImageView) convertView.findViewById(R.id.img); convertView.setTag(holderPic); } else { holderPic = (ViewHolderPic) convertView.getTag(); } holderPic.textView.setText(lists.get(position).getDesc()); //加载图片 ImageLoader.getInstance().displayImage( lists.get(position).getImages().get(0), holderPic.imageView, ImageloaderUtil.getImageOptions()); } return convertView; } @Override public long getItemId(int position) { return position; } @Override public Object getItem(int position) { return lists.get(position); } class ViewHolderTitle { TextView textView; } class ViewHolderPic { TextView textView; ImageView imageView; } }//MyPager
package com.example.dibu.Adapter; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import com.example.dibu.Frag.Page2Frag; import java.util.ArrayList; import java.util.List; /** * Created by 一生不羁放纵 on 2017/10/25 0025. */ public class MyPager extends FragmentPagerAdapter { private List<String> tabs = new ArrayList<String>(); public MyPager(FragmentManager fm, List<String> tabs) { super(fm); this.tabs = tabs; } @Override public CharSequence getPageTitle(int position) { return tabs.get(position); } @Override public Fragment getItem(int position) { Fragment f = null; switch (position) { case 0: f = new Page2Frag(); break; case 1: f = new Page2Frag(); break; case 2: f = new Page2Frag(); break; case 3: f = new Page2Frag(); break; case 4: f = new Page2Frag(); break; case 5: f = new Page2Frag(); break; case 6: f = new Page2Frag(); break; case 7: f = new Page2Frag(); break; case 8: f = new Page2Frag(); break; case 9: f = new Page2Frag(); break; } return f; } @Override public int getCount() { return tabs.size(); } }//MyPagerAdapter
package com.example.dibu.Adapter; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import com.example.dibu.Frag.RmFrag; import java.util.ArrayList; import java.util.List; public class MyPagerAdapter extends FragmentPagerAdapter { private List<String> tabs = new ArrayList<String>(); public MyPagerAdapter(FragmentManager fm, List<String> tabs) { super(fm); this.tabs = tabs; } @Override public CharSequence getPageTitle(int position) { return tabs.get(position); } @Override public Fragment getItem(int position) { Fragment f = null; switch (position) { case 0: f = new RmFrag(); break; case 1: f = new RmFrag(); break; case 2: f = new RmFrag(); break; } return f; } @Override public int getCount() { return tabs.size(); } }//Results
package com.example.dibu.Bean; import java.util.List; public class Results { private List<ResultsEntity> results; private boolean error; public void setResults(List<ResultsEntity> results) { this.results = results; } public void setError(boolean error) { this.error = error; } public List<ResultsEntity> getResults() { return results; } public boolean isError() { return error; } public class ResultsEntity { /** * publishedAt : 2017-10-16T12:19:20.311Z * desc : 文章中详实说明利用Cmake构造Ndk库需要注意的问题,以及部分Cmake命令的解读。 * source : web * _id : 59df3eac421aa90fef20347c * createdAt : 2017-10-12T18:06:36.692Z * used : true * type : Android * url : http://blog.csdn.net/qq_34902522/article/details/78144127 * who : null */ private String publishedAt; private String desc; private String source; private String _id; private String createdAt; private boolean used; private String type; private String url; private String who; private List<String> images; public List<String> getImages() { return images; } public void setImages(List<String> images) { this.images = images; } public void setPublishedAt(String publishedAt) { this.publishedAt = publishedAt; } public void setDesc(String desc) { this.desc = desc; } public void setSource(String source) { this.source = source; } public void set_id(String _id) { this._id = _id; } public void setCreatedAt(String createdAt) { this.createdAt = createdAt; } public void setUsed(boolean used) { this.used = used; } public void setType(String type) { this.type = type; } public void setUrl(String url) { this.url = url; } public void setWho(String who) { this.who = who; } public String getPublishedAt() { return publishedAt; } public String getDesc() { return desc; } public String getSource() { return source; } public String get_id() { return _id; } public String getCreatedAt() { return createdAt; } public boolean isUsed() { return used; } public String getType() { return type; } public String getUrl() { return url; } public String getWho() { return who; } } }//Result
package com.example.dibu.Bean; import java.util.List; /** * Created by 一生不羁放纵 on 2017/10/24 0024. */ public class Result { private String result; private List<DataScrollEntity> dataScroll; private List<DataEntity> data; public void setResult(String result) { this.result = result; } public void setDataScroll(List<DataScrollEntity> dataScroll) { this.dataScroll = dataScroll; } public void setData(List<DataEntity> data) { this.data = data; } public String getResult() { return result; } public List<DataScrollEntity> getDataScroll() { return dataScroll; } public List<DataEntity> getData() { return data; } public class DataScrollEntity { /** * FROMNAME : 九三学社中央宣传部 * SUBTITLE : null * SHOWTIME : 2017-10-15 * ID : 30310406 * IMAGEURL : /11002/upload/webcms/content/image/2017/10/15/14_56_29_117_12420_01.jpg * RN : 1 * TITLE : 九三学社中央科学座谈会聚焦文物考古与丝绸之路 */ private String FROMNAME; private String SUBTITLE; private String SHOWTIME; private String ID; private String IMAGEURL; private int RN; private String TITLE; public void setFROMNAME(String FROMNAME) { this.FROMNAME = FROMNAME; } public void setSUBTITLE(String SUBTITLE) { this.SUBTITLE = SUBTITLE; } public void setSHOWTIME(String SHOWTIME) { this.SHOWTIME = SHOWTIME; } public void setID(String ID) { this.ID = ID; } public void setIMAGEURL(String IMAGEURL) { this.IMAGEURL = IMAGEURL; } public void setRN(int RN) { this.RN = RN; } public void setTITLE(String TITLE) { this.TITLE = TITLE; } public String getFROMNAME() { return FROMNAME; } public String getSUBTITLE() { return SUBTITLE; } public String getSHOWTIME() { return SHOWTIME; } public String getID() { return ID; } public String getIMAGEURL() { return IMAGEURL; } public int getRN() { return RN; } public String getTITLE() { return TITLE; } } public class DataEntity { /** * FROMNAME : 九三学社中央宣传部 * SUBTITLE : Get the Flash Player to see this player. * SHOWTIME : 2017-10-19 * ID : 30310476 * IMAGEURL : null * RN : 1 * TITLE : 九三学社中央致信祝贺中共十九大胜利召开 */ private String FROMNAME; private String SUBTITLE; private String SHOWTIME; private String ID; private String IMAGEURL; private int RN; private String TITLE; public void setFROMNAME(String FROMNAME) { this.FROMNAME = FROMNAME; } public void setSUBTITLE(String SUBTITLE) { this.SUBTITLE = SUBTITLE; } public void setSHOWTIME(String SHOWTIME) { this.SHOWTIME = SHOWTIME; } public void setID(String ID) { this.ID = ID; } public void setIMAGEURL(String IMAGEURL) { this.IMAGEURL = IMAGEURL; } public void setRN(int RN) { this.RN = RN; } public void setTITLE(String TITLE) { this.TITLE = TITLE; } public String getFROMNAME() { return FROMNAME; } public String getSUBTITLE() { return SUBTITLE; } public String getSHOWTIME() { return SHOWTIME; } public String getID() { return ID; } public String getIMAGEURL() { return IMAGEURL; } public int getRN() { return RN; } public String getTITLE() { return TITLE; } } }//App
//MyTask
//StreamToString
//ImageLoaderUtil
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
compile 'com.hjm:BottomTabBar:1.1.1'
compile 'com.youth.banner:banner:1.4.9'
compile 'q.rorbin:VerticalTabLayout:1.2.5'
compile files('libs/universal-image-loader-1.9.3-with-sources.jar') compile files('libs/gson-2.2.4.jar')