Tablayout+recyclerview+ok+ 购物车见下文

来源:互联网 发布:mac xshell替代工具 编辑:程序博客网 时间:2024/06/04 20:03

首页recyclerview适配器

public class MyAdapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> {    private Context context;    private final int SHOU=0;    private final int SHOU1=1;    String[] str = new String[4];    private List<Bean.ResultBean.DataBean> data = new ArrayList<>();    public MyAdapter(Context context,List<Bean.ResultBean.DataBean> data ){        this.context=context;        this.data=data;    }    public void add(List<Bean.ResultBean.DataBean> list){        for (int i = 0;i<list.size();i++ ){            Bean.ResultBean.DataBean dataBean = list.get(i);            data.add(1,dataBean);        }        notifyDataSetChanged();    }    // dian ji    public interface OnItemClickLitener    {        void onItemClick(View view, int position);        void onItemLongClick(View view , int position);    }    private MyAdapter_ZhuTi.OnItemClickLitener mOnItemClickLitener;    public void setOnItemClickLitener(MyAdapter_ZhuTi.OnItemClickLitener mOnItemClickLitener)    {        this.mOnItemClickLitener = mOnItemClickLitener;    }    @Override    public XRecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        if (viewType==SHOU){            MyViewHolder myViewHolder = new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.zuixin_item,parent,false));            return myViewHolder;        }else {            MyViewHolder1 myViewHolder1 = new MyViewHolder1(LayoutInflater.from(context).inflate(R.layout.zuixin_item1,parent,false));            return myViewHolder1;        }    }    @Override    public void onBindViewHolder(final XRecyclerView.ViewHolder holder, int position) {        if (getItemViewType(position)==0){            for (int i =0;i<4;i++){                List<String> albums = data.get(i).getAlbums();                String s = albums.get(0);                str[i]=s;            }            ((MyViewHolder)holder).banner.setImages(str);            ((MyViewHolder)holder).banner.setBannerStyle(Banner.CIRCLE_INDICATOR);            ((MyViewHolder)holder).banner.setDelayTime(3000);        }else {            ((MyViewHolder1)holder).tv1.setText(data.get(position).getTitle());            ((MyViewHolder1)holder).tv2.setText(data.get(position).getTags());            ImageUtils.setImageView(data.get(position).getAlbums().get(0),context,((MyViewHolder1)holder).img);        }        // 如果设置了回调,则设置点击事件        if (mOnItemClickLitener != null)        {            holder.itemView.setOnClickListener(new View.OnClickListener()            {                @Override                public void onClick(View v)                {                    int pos = ((MyViewHolder1)holder).getLayoutPosition();                    mOnItemClickLitener.onItemClick(holder.itemView, pos);                }            });            holder.itemView.setOnLongClickListener(new View.OnLongClickListener()            {                @Override                public boolean onLongClick(View v)                {                    int pos = holder.getLayoutPosition();                    mOnItemClickLitener.onItemLongClick(holder.itemView, pos);                    return false;                }            });        }    }    @Override    public int getItemCount() {        return data.size();    }    @Override    public int getItemViewType(int position) {        if (position==SHOU){            return SHOU;        }else {            return position;        }    }    class MyViewHolder extends XRecyclerView.ViewHolder{        Banner banner;        public MyViewHolder(View itemView) {            super(itemView);            banner= (Banner) itemView.findViewById(R.id.banner);        }    }    class MyViewHolder1 extends XRecyclerView.ViewHolder{        ImageView img;        TextView tv1;        TextView tv2;        public MyViewHolder1(View itemView) {            super(itemView);            img = (ImageView) itemView.findViewById(R.id.img);            tv1= (TextView) itemView.findViewById(R.id.tv1);            tv2= (TextView) itemView.findViewById(R.id.tv2);        }    }}
////////////////////////////////////////////////////////////////////
整体的main1
public class Main2Activity extends AppCompatActivity {    private TabLayout tableLayout;    private ViewPager viewPager;    private List<String> tb_list = new ArrayList<>();    private List<Fragment> fragments = new ArrayList<>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        tableLayout = (TabLayout) findViewById(R.id.table);        viewPager = (ViewPager) findViewById(R.id.viewpage);        tb_list.add("最新日报");        tb_list.add("专栏");        tb_list.add("热门");        tb_list.add("主题日报");        tableLayout.setTag(tableLayout.newTab().setText(tb_list.get(0)));        tableLayout.setTag(tableLayout.newTab().setText(tb_list.get(1)));        tableLayout.setTag(tableLayout.newTab().setText(tb_list.get(2)));        tableLayout.setTag(tableLayout.newTab().setText(tb_list.get(3)));        Fragment1 fragment1 = new Fragment1();        Fragment2 fragment2 = new Fragment2();        Fragment3 fragment3 = new Fragment3();        Fragment4 fragment4 = new Fragment4();        fragments.add(fragment1);        fragments.add(fragment2);        fragments.add(fragment3);        fragments.add(fragment4);        tableLayout.setTabMode(TabLayout.MODE_SCROLLABLE);//滑动模式        Myviewpager myviewpager = new Myviewpager(getSupportFragmentManager());        viewPager.setAdapter(myviewpager);        //进行关联        tableLayout.setupWithViewPager(viewPager);        tableLayout.setTabsFromPagerAdapter(myviewpager);    }    private class Myviewpager extends FragmentPagerAdapter {        public Myviewpager(FragmentManager fm) {            super(fm);        }        @Override        public CharSequence getPageTitle(int position) {            return tb_list.get(position);        }        @Override        public Fragment getItem(int position) {            return fragments.get(position);        }        @Override        public int getCount() {            return fragments.size();        }    }}
///////////////////////////////////////
关于Tablayout的布局
<?xml version="1.0" encoding="UTF-8"?>-<LinearLayout android:orientation="vertical" tools:context="com.example.asus.yuekaolianxi.Main2Activity" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"><android.support.design.widget.TabLayout android:layout_height="50dp" android:layout_width="match_parent" android:id="@+id/table"/><android.support.v4.view.ViewPager android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/viewpage"/></LinearLayout>
/////////////////////////
关于recyclerview的fragment
public class Fragment1 extends Fragment {    List<Bean.ResultBean.DataBean> datas = new ArrayList<>();    private XRecyclerView xrecycler;    MyAdapter m;    int tag=1;    List<Bean.ResultBean.DataBean> list = new ArrayList<>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View v = View.inflate(getContext(), R.layout.fragment1,null);        xrecycler = (XRecyclerView) v.findViewById(R.id.xrecycler);        StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(1,StaggeredGridLayoutManager.VERTICAL);        xrecycler.setLayoutManager(staggeredGridLayoutManager);        xrecycler.setItemAnimator(new DefaultItemAnimator());        datas();        xrecycler.setLoadingListener(new XRecyclerView.LoadingListener() {            @Override            public void onRefresh() {                tag++;                get();//                m.add(datas);//                datas();                m.notifyDataSetChanged();                xrecycler.refreshComplete();            }            @Override            public void onLoadMore() {            }        });        return v;    }    public void get(){        String pas="http://apis.juhe.cn/cook/query.php?key=0e61682f015a13b244a0e46101059f36&menu=西红柿&pn="+tag+"&rn=5";        OkHttp3Utils.getInstance().doGet(pas, new GsonObjectCallback<Bean>() {            @Override            public void onUi(Bean bean) {                datas = bean.getResult().getData();                if (!bean.toString().equals("")) {                    m.add(bean.getResult().getData());                }else {                    Toast.makeText(getContext(),"没有更多数据了!",Toast.LENGTH_SHORT).show();                }            }            @Override            public void onFailed(Call call, IOException e) {            }        });    }    public void datas(){        String pas="http://apis.juhe.cn/cook/query.php?key=0e61682f015a13b244a0e46101059f36&menu=西红柿&pn="+tag+"&rn=5";        OkHttp3Utils.getInstance().doGet(pas,new GsonObjectCallback<Bean>()        {            @Override            public void onUi(Bean bean) {                list = bean.getResult().getData();                m = new MyAdapter(getContext(), bean.getResult().getData());                m.setOnItemClickLitener(new MyAdapter_ZhuTi.OnItemClickLitener() {                    @Override                    public void onItemClick(View view, int position) {                        Toast.makeText(getContext(),"ss",Toast.LENGTH_SHORT).show();                    }                    @Override                    public void onItemLongClick(View view, int position) {                    }                });                xrecycler.setAdapter(m);            }            @Override            public void onFailed(Call call, IOException e) {            }        });    }}
///////////////////////////////////////////////////////////////
布局文件 
<?xml version="1.0" encoding="UTF-8"?>-<RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"><com.jcodecraeer.xrecyclerview.XRecyclerView android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/xrecycler"/></RelativeLayout>

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 3岁宝宝上火怎么办 上火又受凉感冒怎么办 上火引起的感冒怎么办 奶瓶排气孔漏水怎么办 奶嘴排气孔漏水怎么办 bbox吸管杯漏水怎么办 四个月宝宝拉肚子怎么办 租的房子坐月子怎么办 榨果汁不甜怎么办 宝宝不会喝奶粉怎么办 两个月宝宝不长肉怎么办 打疫苗后发烧怎么办 孕期不爱吃水果怎么办 孕期很少吃水果怎么办 三个月小孩不吃奶粉怎么办 三个月宝宝偏瘦怎么办 破壁机打果汁有沫怎么办 宝宝7个月坐不稳怎么办 婴儿头睡偏了怎么办天 宝宝不爱趴着怎么办 宝宝喜欢竖着抱怎么办 婴儿抱习惯了怎么办 新生儿总让抱着放下就哭可怎么办 三个月宝宝认人怎么办 三个月的宝宝认生怎么办 一岁半宝宝尿黄怎么办 一岁多宝宝尿少怎么办 1岁宝宝一晚没尿怎么办 抗利尿激素少怎么办 小孩夜里尿多怎么办 一岁宝宝认生怎么办 婴儿一个月认生怎么办 婴儿大便带血丝怎么办 两个月宝宝认生怎么办 晚上宝宝认人怎么办 小孩长白头发怎么办 三个月婴儿脚力不足怎么办 未满月宝宝便秘怎么办 婴儿5天没拉大便怎么办 儿童三天没大便怎么办 婴儿4天没拉大便了怎么办