package com.example.android_fuxi_20180427.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.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.data.ReaData; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; /** * Created by Administrator on 2018/4/20. */ public class MyAdapter extends BaseAdapter { private final int ONE_ITEM=0; private final int TWO_ITEM=1; List<ReaData.DataBean> list; Context context; private final DisplayImageOptions options; public MyAdapter( List<ReaData.DataBean> list, Context context) { this.list = list; this.context = context; //使用内存缓存 //使用磁盘缓存 //设置图片色彩模式 //设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 .build(); } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { String img = list.get( position ).getImg(); if (img==null){ return ONE_ITEM; }else { return TWO_ITEM; } } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get( position ); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { int itemViewType = getItemViewType( position ); if (itemViewType==ONE_ITEM){ MyHolder holder; if (convertView==null){ convertView=View.inflate( context, R.layout.item1,null ); holder = new MyHolder(); holder.textView=convertView.findViewById( R.id.tv ); convertView.setTag( holder ); }else { holder= (MyHolder) convertView.getTag(); } holder.textView.setText( list.get( position ).getTitle()); return convertView; }else { MyHolder1 holder1; if (convertView==null){ convertView=View.inflate( context,R.layout.item,null ); holder1 = new MyHolder1(); holder1.textView=convertView.findViewById( R.id.tv ); holder1.imageView=convertView.findViewById( R.id.img ); convertView.setTag( holder1 ); }else { holder1= (MyHolder1) convertView.getTag(); } holder1.textView.setText( list.get( position ).getTitle()); String img = list.get( position ).getImg(); ImageLoader.getInstance().displayImage( img,holder1.imageView,options ); return convertView; } } class MyHolder{ TextView textView; } class MyHolder1{ TextView textView; ImageView imageView; }
}
**********************************************************
package com.example.android_fuxi_20180427.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 com.example.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.data.ReaData1; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class MyAdapter1 extends BaseAdapter { List<ReaData1.NewslistBean> list; Context context; private final DisplayImageOptions options; public MyAdapter1(List<ReaData1.NewslistBean> list, Context context) { this.list = list; this.context = context; options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 .build(); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get( position ); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyHolder holder; if (convertView==null){ convertView=View.inflate( context, R.layout.itemimg,null ); holder= new MyHolder(); holder.imageView=convertView.findViewById( R.id.img ); convertView.setTag( holder ); }else { holder= (MyHolder) convertView.getTag(); } ImageLoader.getInstance().displayImage( list.get( position ).getPicUrl(),holder.imageView,options ); return convertView; } class MyHolder{ ImageView imageView; } }
**********************************************************
package com.example.android_fuxi_20180427.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.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.data.ReaData2; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class MyAdapter2 extends BaseAdapter { List<ReaData2.DataBean> list; Context context; private final DisplayImageOptions options; public MyAdapter2(List<ReaData2.DataBean> list, Context context) { this.list = list; this.context = context; //使用内存缓存 //使用磁盘缓存 //设置图片色彩模式 //设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 .build(); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get( position ); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyHolder myHolder; if (convertView==null){ convertView=View.inflate( context, R.layout.main2,null ); myHolder = new MyHolder(); myHolder.textView=convertView.findViewById( R.id.tv ); myHolder.imageView=convertView.findViewById( R.id.img ); convertView.setTag( myHolder ); }else { myHolder= (MyHolder) convertView.getTag(); } myHolder.textView.setText( list.get( position ).getName() ); ImageLoader.getInstance().displayImage( list.get( position ).getIcon(),myHolder.imageView,options ); return convertView; } class MyHolder{ TextView textView; ImageView imageView; } }
*****************************************************************
package com.example.android_fuxi_20180427.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.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.data.ReaData3; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class MyAdapter3 extends BaseAdapter { List<ReaData3.DataBean> list; Context context; private final DisplayImageOptions options; public MyAdapter3(List<ReaData3.DataBean> list, Context context) { this.list = list; this.context = context; //使用内存缓存 options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .showImageOnLoading( R.mipmap.ic_launcher )//设置正在下载的图片 .showImageForEmptyUri( R.mipmap.ic_launcher )//url为空或请求的资源不存在时 .showImageOnFail( R.mipmap.ic_launcher )//下载失败时显示的图片 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 1px=2个字节 ARGB_8888 1px=4个字节 ARGB_4444 1px=2个字节 ALPHA_8 1px=1个字节 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 .build(); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get( position ); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyHolder holder; if (convertView==null){ convertView=View.inflate( context,R.layout.main03,null ); holder= new MyHolder(); holder.textView1=convertView.findViewById( R.id.tv ); holder.textView2=convertView.findViewById( R.id.tvv ); holder.imageView=convertView.findViewById( R.id.img ); convertView.setTag( holder ); }else { holder= (MyHolder) convertView.getTag(); } holder.textView1.setText( list.get( position ).getTitle() ); holder.textView2.setText( "¥:"+(float)list.get( position ).getPrice()+"0"); ImageLoader.getInstance().displayImage(list.get( position ).getImages().split( "\\|" )[0],holder.imageView,options ); return convertView; } class MyHolder{ ImageView imageView; TextView textView1,textView2; } }
**********************************************************
package com.example.android_fuxi_20180427.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.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.data.ReaData4; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class MyAdaper4 extends BaseAdapter { List<ReaData4.NewslistBean> list; Context context; private int ITEM_ONE=0; private int ITEM_TWO=1; private final DisplayImageOptions options; public MyAdaper4(List<ReaData4.NewslistBean> list, Context context) { this.list = list; this.context = context; options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 .build(); } @Override public int getItemViewType(int position) { if (position%2==0){ return ITEM_ONE; }else { return ITEM_TWO; } } @Override public int getViewTypeCount() { return 2; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get( position ); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { int itemViewType = getItemViewType( position ); if (itemViewType==ITEM_ONE){ MyHolder myHolder; if (convertView==null) { convertView=View.inflate( context, R.layout.myfragment,null ); myHolder = new MyHolder(); myHolder.textView1 = convertView.findViewById( R.id.tv ); myHolder.textView2 = convertView.findViewById( R.id.tvv ); myHolder.imageView=convertView.findViewById( R.id.img ); convertView.setTag( myHolder ); }else { myHolder= (MyHolder) convertView.getTag(); } myHolder.textView1.setText( list.get( position ).getTitle() ); myHolder.textView2.setText( list.get( position ).getCtime() ); ImageLoader.getInstance().displayImage( list.get( position ).getPicUrl(),myHolder.imageView,options ); return convertView; }else { MyHolder1 myHolder; if (convertView==null) { convertView=View.inflate( context, R.layout.myfragment1,null ); myHolder = new MyHolder1(); myHolder.text1= convertView.findViewById( R.id.tv ); myHolder.text2= convertView.findViewById( R.id.tvv ); myHolder.img=convertView.findViewById( R.id.img ); convertView.setTag( myHolder ); }else { myHolder= (MyHolder1) convertView.getTag(); } myHolder.text1.setText( list.get( position ).getTitle() ); myHolder.text2.setText( list.get( position ).getCtime() ); ImageLoader.getInstance().displayImage( list.get( position ).getPicUrl(),myHolder.img,options ); return convertView; } } class MyHolder{ TextView textView1,textView2; ImageView imageView; } class MyHolder1{ TextView text1,text2; ImageView img; } }
**********************************************************
package com.example.android_fuxi_20180427.fragment; 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.android_fuxi_20180427.R; /** * Created by Administrator on 2018/4/27. */ public class Fragment01 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout.ment1,container,false ); return view; } }
**************************************************
package com.example.android_fuxi_20180427.fragment; import android.os.Bundle; import android.renderscript.Element; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.android_fuxi_20180427.DataType; import com.example.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.TuiFragment; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2018/4/27. */ public class Fragment02 extends Fragment { private TabLayout myTab; private ViewPager viewPager; private List<DataType> meuns; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout.ment2,container,false ); myTab = view.findViewById(R.id.myTab); viewPager = view.findViewById(R.id.vp); initMenus(); MyViewPager myViewPager = new MyViewPager( getChildFragmentManager() ); viewPager.setAdapter( myViewPager ); myTab.setupWithViewPager( viewPager ); viewPager.setOffscreenPageLimit( meuns.size() ); return view; } class MyViewPager extends FragmentPagerAdapter{ public MyViewPager(FragmentManager fm) { super( fm ); } @Override public CharSequence getPageTitle(int position) { return meuns.get( position ).getTitle(); } @Override public Fragment getItem(int position) { TuiFragment tuiFragment = new TuiFragment(); Bundle bundle = new Bundle(); bundle.putString( "type",meuns.get( position ).getType() ); tuiFragment.setArguments( bundle ); return tuiFragment; } @Override public int getCount() { return meuns.size(); } } private void initMenus() { meuns = new ArrayList<>(); meuns.add(new DataType("数据新闻","xbsjxw")); meuns.add(new DataType("快讯","txs")); meuns.add(new DataType("头条","toutiao")); meuns.add(new DataType("精编公告","news/mobile/jbgg")); meuns.add(new DataType("美股","news/mobile/mgxw")); meuns.add(new DataType("港股","news/mobile/ggxw")); meuns.add(new DataType("基金","news/mobile/jjxw")); meuns.add(new DataType("理财","news/mobile/lcxw")); } }
************************************************************************************
package com.example.android_fuxi_20180427.fragment; 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.GridView; import com.example.android_fuxi_20180427.MyTask; import com.example.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.adapter.MyAdapter1; import com.example.android_fuxi_20180427.data.ReaData1; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshGridView; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2018/4/27. */ public class Fragment03 extends Fragment { private PullToRefreshGridView pgv; private int pager=10; private int pagertype=1; private MyAdapter1 myAdapter; private List<ReaData1.NewslistBean> datas; private String path="http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+pager; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout.ment3,container,false ); pgv = view.findViewById( R.id.gv ); datas=new ArrayList<>( ); initplv(); initData(); return view; } private void initplv() { pgv.setMode( PullToRefreshBase.Mode.BOTH ); pgv.setOnRefreshListener( new PullToRefreshBase.OnRefreshListener2<GridView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<GridView> pullToRefreshBase) { pagertype=1; pager=1; path="http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+pager; initData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<GridView> pullToRefreshBase) { pagertype=2; pager+=20; path="http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+pager; initData(); } } ); } private void initData() { MyTask task = new MyTask( new MyTask.ICallBacks() { @Override public void getJsonData(String jsonstr) { Gson gson = new Gson(); ReaData1 reaData1 = gson.fromJson( jsonstr, ReaData1.class ); List<ReaData1.NewslistBean> newslist = reaData1.getNewslist(); if (pagertype==1){ datas.clear(); } datas.addAll( newslist); setAdapter(); pgv.onRefreshComplete(); } } ); task.execute( path ); } private void setAdapter() { if (myAdapter==null){ myAdapter = new MyAdapter1( datas, getActivity() ); pgv.setAdapter( myAdapter ); } myAdapter.notifyDataSetChanged(); } }
*****************************************************************************************
package com.example.android_fuxi_20180427.fragment; 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.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.android_fuxi_20180427.DataType; import com.example.android_fuxi_20180427.MyFragment; import com.example.android_fuxi_20180427.R; import com.example.android_fuxi_20180427.TuiFragment; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2018/4/27. */ public class Fragment04 extends Fragment { private TabLayout myTab; private ViewPager viewPager; private List<DataType> meuns; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout.ment4,container,false ); myTab = view.findViewById(R.id.myTab); viewPager = view.findViewById(R.id.vp); initMenus(); MyViewPager myViewPager = new MyViewPager( getChildFragmentManager() ); viewPager.setAdapter( myViewPager ); myTab.setupWithViewPager( viewPager ); viewPager.setOffscreenPageLimit( meuns.size() ); return view; } class MyViewPager extends FragmentPagerAdapter { public MyViewPager(FragmentManager fm) { super( fm ); } @Override public CharSequence getPageTitle(int position) { return meuns.get( position ).getTitle(); } @Override public Fragment getItem(int position) { MyFragment myFragment = new MyFragment(); Bundle bundle = new Bundle(); bundle.putString( "type",meuns.get( position ).getType() ); myFragment.setArguments( bundle ); return myFragment; } @Override public int getCount() { return meuns.size(); } } private void initMenus() { meuns = new ArrayList<>(); meuns.add(new DataType("社会新闻","social")); meuns.add(new DataType("国内新闻","guonei")); meuns.add(new DataType("国际新闻","world")); meuns.add(new DataType("娱乐新闻","huabian")); meuns.add(new DataType("体育新闻","tiyu")); meuns.add(new DataType("NBA新闻","nba")); meuns.add(new DataType("足球新闻","football")); meuns.add(new DataType("科技新闻","keji")); meuns.add(new DataType("创业新闻","startup")); meuns.add(new DataType("苹果新闻","apple")); meuns.add(new DataType("军事新闻","military")); meuns.add(new DataType("移动新闻","mobile")); meuns.add(new DataType("旅游新闻","travel")); meuns.add(new DataType("健康新闻","health")); meuns.add(new DataType("奇闻新闻","qiwen")); meuns.add(new DataType("美女新闻","meinv")); meuns.add(new DataType("VR新闻","vr")); meuns.add(new DataType("IT新闻","it")); } }
*******************************************************
package com.example.android_fuxi_20180427; 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.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ScrollView; import com.example.android_fuxi_20180427.adapter.MyAdaper4; import com.example.android_fuxi_20180427.data.ReaData4; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class MyFragment extends Fragment { //"http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num=10" private String path; private String type; private int pagertype=1; private int pager=10; private List<ReaData4.NewslistBean> datas; private MyAdaper4 myAdaper; private LinearLayout linPoint; private List<ImageView> lists=new ArrayList<>(); private ViewPager viewPager; private PullToRefreshScrollView plv; private ListView listView; private List<ReaData4.NewslistBean> newslist; private Handler handler=new Handler( ){ @Override public void handleMessage(Message msg) { super.handleMessage( msg ); int cIndex=viewPager.getCurrentItem(); cIndex++; viewPager.setCurrentItem(cIndex); //改变指示器 setSelectedPoint(cIndex%lists.size()); sendEmptyMessageDelayed(0,1000); } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout.myfrag,container,false ); datas=new ArrayList<>( ); plv = view.findViewById( R.id.pgv ); viewPager = view.findViewById(R.id.vp); linPoint=view.findViewById(R.id.lin_point); Bundle arguments = getArguments(); type = arguments.getString( "type" ); path="http://api.tianapi.com/"+ type +"/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+pager; listView = view.findViewById( R.id.lv ); initplv(); initData(); return view; } private void initplv() { plv.setMode( PullToRefreshBase.Mode.BOTH ); plv.setOnRefreshListener( new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { pagertype=1; pager=1; path="http://api.tianapi.com/"+ type +"/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+pager; initData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { pagertype=2; pager+=10; path="http://api.tianapi.com/"+ type +"/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+pager; initData(); } } ); } private void initData() { MyTask task = new MyTask( new MyTask.ICallBacks() { @Override public void getJsonData(String jsonstr) { Gson gson = new Gson(); ReaData4 reaData4 = gson.fromJson( jsonstr, ReaData4.class ); newslist = reaData4.getNewslist(); MyViewpa myViewpa = new MyViewpa( getActivity(), newslist ); viewPager.setAdapter( myViewpa ); initPoint(); //设置显示中间页面 viewPager.setCurrentItem(newslist.size()*10); //发送消息,实现自动轮播 handler.sendEmptyMessageDelayed(0,1000); if (pagertype==1){ datas.clear(); } datas.addAll( newslist ); setAdapter(); plv.onRefreshComplete(); } } ); task.execute( path ); } private void initPoint() { linPoint.removeAllViews(); //清空集合 lists.clear(); for (int i = 0; i <newslist.size() ; i++) { ImageView imageView=new ImageView(getActivity()); //设置它的布局参数 LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); params.setMargins(0,0,10,0);//设置右边的间隔 if(i==0){ imageView.setImageResource(R.drawable.point_selected);//选中的小圆点 }else{ imageView.setImageResource(R.drawable.point_unselected); } linPoint.addView(imageView,params); lists.add(imageView); } } private void setSelectedPoint(int pageIndex){ for (int i = 0; i <lists.size() ; i++) { if(i==pageIndex){ lists.get(i).setImageResource(R.drawable.point_selected); }else { lists.get(i).setImageResource(R.drawable.point_unselected); } } } private void setAdapter() { if (myAdaper==null){ myAdaper = new MyAdaper4( datas, getActivity() ); listView.setAdapter( myAdaper ); } myAdaper.notifyDataSetChanged(); }
}
********************************************************************************************
package com.example.android_fuxi_20180427; import android.os.AsyncTask; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; /** * Created by Administrator on 2018/4/25. */ public class MyTask extends AsyncTask<String,Void,String> { private ICallBacks iCallBacks; public MyTask(ICallBacks iCallBacks) { this.iCallBacks = iCallBacks; } @Override protected String doInBackground(String... strings) { String str=""; try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); int responseCode = urlConnection.getResponseCode(); if (responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); str=toJson(inputStream); } } catch (Exception e) { e.printStackTrace(); } return str; } @Override protected void onPostExecute(String s) { super.onPostExecute( s ); iCallBacks.getJsonData( s ); } public interface ICallBacks{ //得到json串 void getJsonData(String jsonstr); } private String toJson(InputStream inputStream) { StringBuilder builder = new StringBuilder(); String string; InputStreamReader in = new InputStreamReader(inputStream); BufferedReader reader = new BufferedReader(in); try { while ((string=reader.readLine())!=null){ builder.append(string); } } catch (Exception e) { e.printStackTrace(); } return builder.toString(); } }
********************************************************************************
package com.example.android_fuxi_20180427; import android.content.Context; import android.graphics.Bitmap; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.example.android_fuxi_20180427.data.ReaData4; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; import java.util.logging.Handler; /** * Created by Administrator on 2018/4/29. */ public class MyViewpa extends PagerAdapter { Context context; List<ReaData4.NewslistBean> newslist; private final DisplayImageOptions options; public MyViewpa(Context context, List<ReaData4.NewslistBean> newslist ){ this.context = context; this.newslist = newslist; options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .showImageOnLoading( R.mipmap.ic_launcher )//设置正在下载的图片 .showImageForEmptyUri( R.mipmap.ic_launcher )//url为空或请求的资源不存在时 .showImageOnFail( R.mipmap.ic_launcher )//下载失败时显示的图片 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 1px=2个字节 ARGB_8888 1px=4个字节 ARGB_4444 1px=2个字节 ALPHA_8 1px=1个字节 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 .build(); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView=new ImageView(context); //设置图片缩放模式 imageView.setScaleType(ImageView.ScaleType.FIT_XY); //下载图片 ImageLoader.getInstance().displayImage(newslist.get(position%newslist.size()).getPicUrl(),imageView,options); container.addView( imageView ); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView( (View) object ); } }
***********************************************************************************************************
package com.example.android_fuxi_20180427; import android.content.Context; import android.graphics.Bitmap; import android.os.Handler; import android.support.v4.view.PagerAdapter; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Toast; import com.example.android_fuxi_20180427.data.ReaDataimg; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class MyViewPager extends PagerAdapter { List<ReaDataimg.DataBean> data; Context context; Handler handler; private final DisplayImageOptions options; public MyViewPager(List<ReaDataimg.DataBean> data, Context context, Handler handler) { this.data = data; this.context = context; this.handler = handler; options = new DisplayImageOptions.Builder().cacheInMemory( true )//使用内存缓存 .cacheOnDisk( true )//使用磁盘缓存 .showImageOnLoading( R.mipmap.ic_launcher )//设置正在下载的图片 .showImageForEmptyUri( R.mipmap.ic_launcher )//url为空或请求的资源不存在时 .showImageOnFail( R.mipmap.ic_launcher )//下载失败时显示的图片 .bitmapConfig( Bitmap.Config.RGB_565 )//设置图片色彩模式 1px=2个字节 ARGB_8888 1px=4个字节 ARGB_4444 1px=2个字节 ALPHA_8 1px=1个字节 .imageScaleType( ImageScaleType.EXACTLY )//设置图片的缩放模式 .build(); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView imageView = new ImageView( context ); imageView.setScaleType(ImageView.ScaleType.FIT_XY); ImageLoader.getInstance().displayImage(data.get(position%data.size()).getIcon(),imageView,options); imageView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context,data.get(position%data.size()).getTitle(), Toast.LENGTH_SHORT).show(); } } ); imageView.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: handler.removeCallbacksAndMessages( null ); break; case MotionEvent.ACTION_MOVE: handler.removeCallbacksAndMessages( null ); break; case MotionEvent.ACTION_UP: handler.sendEmptyMessageDelayed( 0,1000 ); break; case MotionEvent.ACTION_CANCEL: handler.sendEmptyMessageDelayed( 0,1000 ); break; } return false; } } ); container.addView( imageView ); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView( (View) object ); } }
*********************************************************************************************
package com.example.android_fuxi_20180427; 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.ListView; import com.bawei.jane.mxlistview.view.XListView; import com.example.android_fuxi_20180427.adapter.MyAdapter; import com.example.android_fuxi_20180427.data.ReaData; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.lang.reflect.Type; import java.net.HttpURLConnection; import java.net.URL; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Created by Administrator on 2018/4/28. */ public class TuiFragment extends Fragment { private int pageIndex=1; private int operType=1; private String type; private String path; private XListView listView; private List<ReaData.DataBean> datas; private MyAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout.tuifrag,container,false ); listView = view.findViewById( R.id.lv ); datas=new ArrayList<>( ); Bundle arguments = getArguments(); type = arguments.getString( "type" ); path="http://mnews.gw.com.cn/wap/data/news/"+ type +"/page_"+pageIndex+".json"; initplv(); initTher(); return view; } private void initplv() { listView.setPullRefreshEnable( true ); listView.setPullLoadEnable( true ); listView.setXListViewListener( new XListView.IXListViewListener() { @Override public void onRefresh() { pageIndex=1; operType=1; path="http://mnews.gw.com.cn/wap/data/news/"+ type +"/page_"+pageIndex+".json"; initTher(); } @Override public void onLoadMore() { pageIndex++; operType=2; path="http://mnews.gw.com.cn/wap/data/news/"+ type +"/page_"+pageIndex+".json"; initTher(); } } ); } private void initTher() { MyTask myTask = new MyTask(); myTask.execute( path ); } class MyTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { try { URL url=new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); if(urlConnection.getResponseCode()==200){ InputStream inputStream = urlConnection.getInputStream(); String s = streamToString(inputStream); return s; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute( s ); Gson gson = new Gson(); ArrayList<ReaData> lists = new ArrayList<>(); Type type = new TypeToken<ArrayList<ReaData>>() { }.getType(); lists=gson.fromJson( s,type ); List<ReaData.DataBean> data = lists.get( 0 ).getData(); if (operType==1){ datas.clear(); } datas.addAll( data ); setAdapter(); if (operType==1){ listView.stopRefresh(); Date date=new Date(System.currentTimeMillis()); SimpleDateFormat sdf=new SimpleDateFormat("MM-dd HH:mm:ss"); String time = sdf.format(date); listView.setRefreshTime( time ); }else { listView.stopLoadMore(); } } } private void setAdapter() { if (adapter==null){ adapter = new MyAdapter( datas, getActivity() ); listView.setAdapter( adapter ); }else { adapter.notifyDataSetChanged(); } } private String streamToString(InputStream stream) { StringBuilder sbuilder=new StringBuilder(); String str; BufferedReader reader=new BufferedReader(new InputStreamReader(stream)); try { while ((str=reader.readLine())!=null){ sbuilder.append(str); } } catch (Exception e) { e.printStackTrace(); } return sbuilder.toString(); } }
main3
*******************************************************
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="90dp" android:layout_height="90dp" android:id="@+id/img" android:layout_marginTop="5dp" android:layout_marginLeft="10dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv" android:layout_toRightOf="@id/img" android:layout_marginLeft="15dp" android:layout_marginTop="15dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tvv" android:layout_below="@id/tv" android:textColor="#f00" android:layout_toRightOf="@id/img" android:layout_marginLeft="15dp" android:layout_marginTop="15dp"/> </RelativeLayout>
ment1
***************
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@drawable/bg"> <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/myTab" app:tabGravity="center" app:tabIndicatorColor="@color/colorAccent" app:tabMode="scrollable" app:tabSelectedTextColor="@color/colorPrimaryDark" app:tabTextColor="@color/colorPrimary"></android.support.design.widget.TabLayout> <!--viewPager组件--> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp" android:layout_below="@+id/myTab"></android.support.v4.view.ViewPager> </RelativeLayout>
ment3
***************
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#f00" android:layout_height="match_parent"> <com.handmark.pulltorefresh.library.PullToRefreshGridView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/gv" android:numColumns="2" ></com.handmark.pulltorefresh.library.PullToRefreshGridView> </android.support.constraint.ConstraintLayout>
myfrag
************************************************
<?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"> <com.handmark.pulltorefresh.library.PullToRefreshScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pgv"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <!--轮播图--> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="200dp" android:id="@+id/vp"></android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/lin_point" android:orientation="horizontal" android:gravity="center" android:layout_gravity="bottom"></LinearLayout> </FrameLayout> <com.example.android_fuxi_20180427.MyListview android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv"></com.example.android_fuxi_20180427.MyListview> </LinearLayout> </com.handmark.pulltorefresh.library.PullToRefreshScrollView> </LinearLayout>
myfragment
***************************************************
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="100dp" android:layout_height="120dp" android:id="@+id/img"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/img" android:layout_marginTop="15dp" android:layout_marginLeft="15dp" android:id="@+id/tv"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/img" android:layout_marginTop="15dp" android:layout_marginLeft="15dp" android:textColor="#f00" android:layout_below="@id/tv" android:id="@+id/tvv"/> </RelativeLayout>
myframgent1*******************************************
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:layout_marginLeft="15dp" android:id="@+id/tv"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/img" android:layout_marginLeft="15dp" android:layout_below="@id/tv" android:textColor="#f00" android:id="@+id/tvv"/> <ImageView android:id="@+id/img" android:layout_width="100dp" android:layout_height="120dp" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_alignTop="@+id/tv" android:layout_marginEnd="37dp" android:layout_marginRight="37dp" /> </RelativeLayout>
tuifrag
*********************************************************
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <com.bawei.jane.mxlistview.view.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv" > </com.bawei.jane.mxlistview.view.XListView> </RelativeLayout>