側拉加viewpager以及fragment實現

ViewPager+RadioGroup+Fragment超高仿,可通過左右滑動或點擊底部RadioButton切換Fragment,廢話不多說,上源碼。

下載源碼地址:http://download.csdn.net/detail/shenyuanqing/8847959.





首先主視圖

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.bwie.mm.MainActivity">

    <ListView
        android:id="@+id/listview"
        android:layout_width="200sp"
        android:layout_height="match_parent"
        android:choiceMode="singleChoice"
        android:layout_gravity="start"
        android:divider="#fff"
        android:dividerHeight="1dp"
        android:background="#87CEFF"
        ></ListView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            />
        <RadioGroup
            android:id="@+id/rg"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:layout_weight="9.5"
            >

            <RadioButton
                android:id="@+id/but1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="首頁"
                android:gravity="center"
                android:button="@null"
                android:layout_weight="1"
                android:background="@drawable/selector_color"
                android:checked="true"
                android:padding="10dp"
                />
            <RadioButton
                android:id="@+id/but2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="行情"
                android:gravity="center"
                android:button="@null"
                android:layout_weight="1"
                android:background="@drawable/selector_color"
                android:padding="10dp"
                />
            <RadioButton
                android:id="@+id/but3"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="資訊"
                android:gravity="center"
                android:button="@null"
                android:layout_weight="1"
                android:background="@drawable/selector_color"
                android:padding="10dp"
                />
            <RadioButton
                android:id="@+id/but4"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="簡介"
                android:gravity="center"
                android:button="@null"
                android:layout_weight="1"
                android:background="@drawable/selector_color"
                android:padding="10dp"
                />

        </RadioGroup>
    </LinearLayout>

</android.support.v4.widget.DrawerLayout>

以及主方法

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.RadioGroup;

import com.bwie.adapter.CeLaAdapter;
import com.bwie.beans.CeLa;
import com.bwie.fragment.Fragment1;
import com.bwie.fragment.Fragment2;
import com.bwie.fragment.Fragment3;
import com.bwie.fragment.Fragment4;

import java.util.ArrayList;
import java.util.List;

/**
 * Viewpager和Fragment連用
 *
 */
public class MainActivity extends FragmentActivity {

    private DrawerLayout drawerLayout;//側拉
    private ListView listView;//展示
    private List<CeLa> list;
    private ViewPager viewPager;
    private RadioGroup radioGroup;
    private List<Fragment> flist;
    private Fragment1 fragment1;
    private Fragment2 fragment2;
    private Fragment3 fragment3;
    private Fragment4 fragment4;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //獲取資源ID
        listView=(ListView) findViewById(R.id.listview);
        drawerLayout=(DrawerLayout) findViewById(R.id.activity_main);
        viewPager=(ViewPager) findViewById(R.id.viewpager);
        radioGroup=(RadioGroup) findViewById(R.id.rg);
        //側垃集合
        list=new ArrayList<CeLa>();
        //添加信息
        list.add(new CeLa("客服熱線",R.mipmap.ic_launcher));
        list.add(new CeLa("營業部網點",R.mipmap.ic_launcher));
        list.add(new CeLa("系統設置",R.mipmap.ic_launcher));
        list.add(new CeLa("換膚",R.mipmap.ic_launcher));
        //關聯適配器,展示側拉
        CeLaAdapter adapter=new CeLaAdapter(list,MainActivity.this);
        listView.setAdapter(adapter);
        //點擊條目關閉側拉
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                drawerLayout.closeDrawer(listView);
            }
        });
        fragment1=new Fragment1();
        fragment2=new Fragment2();
        fragment3=new Fragment3();
        fragment4=new Fragment4();
        //添加fragment
        flist=new ArrayList<>();
        flist.add(fragment1);
        flist.add(fragment2);
        flist.add(fragment3);
        flist.add(fragment4);
        //適配器
        viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int position) {
                return flist.get(position);
            }

            @Override
            public int getCount() {
                return flist.size();
            }
        });
        //viewpager監聽事件
        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                //聯動
                switch (position){
                    case 0:
                        radioGroup.check(R.id.but1);
                        break;
                    case 1:
                        radioGroup.check(R.id.but2);
                        break;
                    case 2:
                        radioGroup.check(R.id.but3);
                        break;
                    case 3:
                        radioGroup.check(R.id.but4);
                        break;
                    default:
                        break;
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        //radioGroup監聽事件
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                //聯動
                switch (i){
                    case R.id.but1:
                        viewPager.setCurrentItem(0);
                        break;
                    case R.id.but2:
                        viewPager.setCurrentItem(1);
                        break;
                    case R.id.but3:
                        viewPager.setCurrentItem(2);
                        break;
                    case R.id.but4:
                        viewPager.setCurrentItem(3);
                        break;
                    default:
                        break;
                }
            }
        });
    }
}
//展示數據的類
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.bwie.adapter.PullAdapter;
import com.bwie.beans.User;
import com.bwie.cuidongtao1509a20170922.R;
import com.bwie.utils.NetWorksUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.List;

/**展示數據
 * Created by 1 on 2017/9/22.
 *
 */
public class ChannelFragment extends Fragment{
    private String name;
    private String new_url;
    private List<User.NewslistBean> data;
    private PullAdapter adapter;
    private PullToRefreshListView plistview;
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //接收數據
        Bundle bundle=getArguments();
        name=(String) bundle.get("ch");
        new_url=(String) bundle.get("url");
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.cf,null);
        //獲取資源ID
        plistview=(PullToRefreshListView) view.findViewById(R.id.pull_refresh_list);
        PullToRefreshData();
        //下拉刷新
        plistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                PullToRefreshData();
            }
        });
        //上拉加載
        plistview.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                LoadMoreData();
            }
        });
        return view;
    }
    //刷新
    public void PullToRefreshData(){
        //異步解析
        new AsyncTask<String,Integer,String>(){
            @Override
            protected String doInBackground(String... strings) {
                //下拉刷新時頁數設置爲1
                String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
                return str;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                User user = gson.fromJson(s, User.class);
                data = user.getNewslist();
                //關聯適配器
                adapter=new PullAdapter(data,getActivity());
                //加載適配器
                plistview.setAdapter(adapter);
                //停止刷新
                plistview.onRefreshComplete();
            }
        }.execute(new_url);
    }
    //加載
    public void LoadMoreData(){
        //異步
        new AsyncTask<String,Integer,String>(){
            @Override
            protected String doInBackground(String... strings) {
                //上拉加載更多時頁數加1,
                String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
                return str;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                User user = gson.fromJson(s, User.class);
                List<User.NewslistBean> data2 = user.getNewslist();
                //加載
                data.addAll(data2);
                //刷新適配器
                adapter.notifyDataSetChanged();
            }
        }.execute(new_url);
    }
}
//channelFeagemtn
package com.bwie.fragment;

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.bwie.adapter.PullAdapter;
import com.bwie.beans.User;
import com.bwie.cuidongtao1509a20170922.R;
import com.bwie.utils.NetWorksUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.List;

/**展示數據
 * Created by 1 on 2017/9/22.
 *崔冬濤
 */
public class ChannelFragment extends Fragment{
    private String name;
    private String new_url;
    private List<User.NewslistBean> data;
    private PullAdapter adapter;
    private PullToRefreshListView plistview;
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //接收數據
        Bundle bundle=getArguments();
        name=(String) bundle.get("ch");
        new_url=(String) bundle.get("url");
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.cf,null);
        //獲取資源ID
        plistview=(PullToRefreshListView) view.findViewById(R.id.pull_refresh_list);
        PullToRefreshData();
        //下拉刷新
        plistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                PullToRefreshData();
            }
        });
        //上拉加載
        plistview.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                LoadMoreData();
            }
        });
        return view;
    }
    //刷新
    public void PullToRefreshData(){
        //異步解析
        new AsyncTask<String,Integer,String>(){
            @Override
            protected String doInBackground(String... strings) {
                //下拉刷新時頁數設置爲1
                String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
                return str;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                User user = gson.fromJson(s, User.class);
                data = user.getNewslist();
                //關聯適配器
                adapter=new PullAdapter(data,getActivity());
                //加載適配器
                plistview.setAdapter(adapter);
                //停止刷新
                plistview.onRefreshComplete();
            }
        }.execute(new_url);
    }
    //加載
    public void LoadMoreData(){
        //異步
        new AsyncTask<String,Integer,String>(){
            @Override
            protected String doInBackground(String... strings) {
                //上拉加載更多時頁數加1,
                String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
                return str;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                User user = gson.fromJson(s, User.class);
                List<User.NewslistBean> data2 = user.getNewslist();
                //加載
                data.addAll(data2);
                //刷新適配器
                adapter.notifyDataSetChanged();
            }
        }.execute(new_url);
    }
}

第一個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.R;

import java.util.ArrayList;
import java.util.List;

/**主頁面
 *  2017/9/22.
 *
 */

public class Fragment1 extends Fragment{
    private TabLayout tabLayout;
    private ViewPager viewPager;
    private String channl[]={"數據新聞","快訊","頭條","精編公告","美股","港股","基金","理財"};
    private String urlS[]={
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
                "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"
    };
    private LayoutInflater mInflater;
    private List<ChannelFragment> mViewList = new ArrayList<>();//頁卡視圖集合
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment1,null);
        //獲取資源ID
        mInflater=LayoutInflater.from(getActivity());
        tabLayout=(TabLayout) view.findViewById(R.id.tabs);
        viewPager=(ViewPager) view.findViewById(R.id.vp_view);
        //傳數據
        for (int i=0;i<channl.length;i++){
            //實例化
            ChannelFragment channelFragment=new ChannelFragment();
            //傳值
            Bundle bundle=new Bundle();
            bundle.putString("ch",channl[i]);
            bundle.putString("url",urlS[i]);
            channelFragment.setArguments(bundle);
            //添加
            mViewList.add(channelFragment);
            //添加標題
            tabLayout.addTab(tabLayout.newTab().setText(channl[i]));
        }
        FragmentManager manager=getActivity().getSupportFragmentManager();
        //關聯適配器
        MyFragmentPagerAdapter fragmentPagerAdapter=new MyFragmentPagerAdapter(manager,mViewList);
        viewPager.setAdapter(fragmentPagerAdapter);
        //將tabLayout,與viewPager關聯起來
        tabLayout.setupWithViewPager(viewPager);
         return view;
    }
    //適配器
    class MyFragmentPagerAdapter extends FragmentPagerAdapter {
        private List<ChannelFragment> mViewList;

        public MyFragmentPagerAdapter(FragmentManager fm, List<ChannelFragment> mViewList) {
            super(fm);
            this.mViewList = mViewList;
        }

        @Override
        public Fragment getItem(int position) {
            return mViewList.get(position);
        }

        @Override
        public int getCount() {
            return mViewList.size();
        }

        @Override
        public CharSequence getPageTitle(int position) {

            return channl[position];//頁卡標題
        }

    }
}

//封裝的jiavabean

import java.util.List;

/**Bean類
 * Created by 1 on 2017/9/22.
 *
 */

public class User {

    private int code;
    private String msg;
    private List<NewslistBean> newslist;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public List<NewslistBean> getNewslist() {
        return newslist;
    }

    public void setNewslist(List<NewslistBean> newslist) {
        this.newslist = newslist;
    }

    public static class NewslistBean {

        private String ctime;
        private String description;
        private String picUrl;
        private String title;
        private String url;

        public String getCtime() {
            return ctime;
        }

        public void setCtime(String ctime) {
            this.ctime = ctime;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getPicUrl() {
            return picUrl;
        }

        public void setPicUrl(String picUrl) {
            this.picUrl = picUrl;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }
}
//側拉的javabean

/**側拉
 * Created by 1 on 2017/9/22.
 *
 */

public class CeLa {
    private String name;
    private int image;

    public CeLa(String name, int image) {
        this.name = name;
        this.image = image;
    }

    public CeLa() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    @Override
    public String toString() {
        return "CeLa{" +
                "name='" + name + '\'' +
                ", image=" + image +
                '}';
    }
}

//Imageloder的類
package 

import android.app.Application;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

/**圖片加載
 * Created by 1 on 2017/9/22.
 *
 */

public class MyApp extends Application{
    @Override
    public void onCreate() {
        super.onCreate();
        //通過ImageLoader加載試圖
        ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);
        ImageLoader.getInstance().init(configuration);
    }
}

//加載網絡的類
package com.utils;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/**工具類解析
 * Created by 1 on 2017/9/22.
 *
 */

public class NetWorksUtils {
    public String getJsonJieXi(String jsonStr){
        URL url=null;
        HttpURLConnection httpURLConnection=null;
        String JsonUrl="";
        try {
            //得到網絡數據
            url=new URL(jsonStr);
            httpURLConnection=(HttpURLConnection) url.openConnection();
            httpURLConnection.setConnectTimeout(5000);
            httpURLConnection.setReadTimeout(5000);
            //獲取響應碼
            int responseCode = httpURLConnection.getResponseCode();
            if (responseCode==200){
                InputStream inputStream = httpURLConnection.getInputStream();
                byte[] bytes = new byte[1024];
                int len=0;
                while ((len=inputStream.read(bytes))!=-1){
                    //解析
                    JsonUrl +=new String(bytes,0,len);
                }
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        //返回解析內容
        return JsonUrl;
    }
}

//fragment1的視圖
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabIndicatorColor="@color/colorPrimary"
        app:tabMode="scrollable"
        app:tabSelectedTextColor="@color/colorPrimary"
        app:tabTextColor="@color/black"/>
    <android.support.v4.view.ViewPager
        android:id="@+id/vp_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>


//item1的視圖
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        >
        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#ffffff"
            />
    </LinearLayout>

</LinearLayout>

//item2的視圖
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent">
 <ImageView
    android:id="@+id/image2"
    android:layout_width="60dp"
    android:layout_height="60dp" />
    <TextView
        android:id="@+id/text2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>


//putofresh的視圖
上拉加載下拉刷新
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        xmlns:ptr="http://schemas.android.com/apk/res-auto"
        android:id="@+id/pull_refresh_list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:cacheColorHint="#000000"
        android:divider="#19000000"
        android:dividerHeight="4dp"
        android:fadingEdge="none"
        android:fastScrollEnabled="false"
        android:footerDividersEnabled="false"
        android:headerDividersEnabled="false"
        android:smoothScrollbar="true"
        ptr:ptrAnimationStyle="rotate"
        ptr:ptrHeaderTextColor="#ffffff"
        ptr:ptrHeaderSubTextColor="#00ffff"
        ptr:ptrHeaderBackground="@null"
        ptr:ptrDrawable="@mipmap/ic_launcher"/>
</LinearLayout>


//兩個主要的適配器


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.bwie.beans.CeLa;
import com.bwie.R;

import java.util.List;



/**側拉適配器
 * Created by 1 on 2017/9/22.
 *
 */

public class CeLaAdapter extends BaseAdapter{
    private List<CeLa> list;
    private Context context;

    public CeLaAdapter(List<CeLa> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        //加載視圖
        view=View.inflate(context, R.layout.item,null);
        //獲取資源id
        ImageView imageView=(ImageView) view.findViewById(R.id.image);
        TextView textView=(TextView) view.findViewById(R.id.text);
        //展示試圖
        imageView.setImageResource(list.get(i).getImage());
        textView.setText(list.get(i).getName());
        return view;
    }
}

//刷新的適配器
package com.bwie.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.bwie.beans.User;
import com.bwie.cuidongtao1509a20170922.R;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.List;



/**上拉下拉適配器
 * Created by 1 on 2017/9/22.
 *
 */

public class PullAdapter extends BaseAdapter{
    private List<User.NewslistBean> list;
    private Context context;

    public PullAdapter(List<User.NewslistBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        //進行優化
        ViewHolder viewHolder;
        if(view==null){
            //實例化內部類
            viewHolder=new ViewHolder();
            //加載試圖
            view=View.inflate(context, R.layout.item2,null);
            //獲取資源ID
            viewHolder.imageView=(ImageView) view.findViewById(R.id.image2);
            viewHolder.textView=(TextView) view.findViewById(R.id.text2);
            view.setTag(viewHolder);
        }else{
            viewHolder=(ViewHolder) view.getTag();
        }
        //ImageLoader展示試圖,展示內容
        ImageLoader.getInstance().displayImage(list.get(i).getPicUrl(),viewHolder.imageView);
        viewHolder.textView.setText(list.get(i).getTitle());
        return view;
    }
    //內部類
    class ViewHolder{
        ImageView imageView;
        TextView textView;
    }
}















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章