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>
阅读全文
0 1
- Tablayout+recyclerview+ok+ 购物车见下文
- RecyclerView实现购物车
- 购物车Recyclerview实现
- RecyclerView实现购物车
- 购物车Recyclerview
- Recyclerview嵌套Recyclerview实现简单购物车
- 属性动画+MVP+Tablayout+购物车
- RecyclerView 实现购物车功能
- 使用RecyclerView实现购物车
- RecyclerView 购物车 二级列表
- OkHttp+RecyclerView购物车(二)
- RecyclerView 购物车 二级列表
- 购物车之Recyclerview列表
- Ok+Recyclerview+butterknife
- Recyclerview多条目+tablayout
- Recyclerview+checkbox 简单的购物车效果
- RecyclerView和购物车选择模式
- 简单的购物车(RecyclerView)
- MySQL 远程无法连接
- 文章标题
- deleteDupInList
- 容器篇:取vector最后一个元素的方法
- 1.Servlet入门与介绍
- Tablayout+recyclerview+ok+ 购物车见下文
- Import/Export options
- ARM-IDE MDK5不兼容MDK工程
- 雪花飘落动画-帧动画系列
- Linux man详解
- 深入理解Java中的String
- 曹可爱之最可爱-Vue.js入门 (一)初识
- Java之——后台运行Jar包并设置内存参数
- HDU