adapter ,fragment,布局,

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>


猜你喜欢

转载自blog.csdn.net/qq_41927301/article/details/80177177