(仿)京东首页+详情(Fragment)

//主页面布局

            android:layout_width="match_parent"
            android:layout_height="match_parent">
                                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                                                    android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:orientation="vertical">
                                                                    android:id="@+id/home_xbanner"
                                    android:layout_width="match_parent"
                                    android:layout_height="200dp"
                                    >
                                                                    android:id="@+id/fenlei_recycler"
                                    android:layout_width="match_parent"
                                    android:layout_height="200dp">
                                                                    android:id="@+id/maiosha_recycler"
                                    android:layout_width="match_parent"
                                    android:layout_height="100dp">
                                                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_marginTop="10dp"
                                    android:layout_marginBottom="10dp"
                                    android:background="#ccc">
                                                                                    android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="为您推荐"
                                            android:layout_centerHorizontal="true"
                                            android:textSize="20dp"/>
                               
                                                                    android:id="@+id/tuijian_recycler"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent">
                       
               
       

 

 

//详情布局

        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="9"
        android:orientation="vertical">
                    android:id="@+id/xiangqing_xbanner"
            android:layout_width="match_parent"
            android:layout_height="330dp">
                    android:id="@+id/xiangqing_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:text="text"
            android:layout_margin="10dp"/>
                    android:id="@+id/xiangqing_subhead"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:text="text"
            android:layout_marginLeft="10dp"
            android:textColor="#f00"/>
                    android:id="@+id/xiangqing_price"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text"
            android:textSize="20dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"/>
   
            android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
                    android:layout_width="match_parent"
            android:layout_height="match_parent">
                            android:id="@+id/xiangqing_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="10dp"
                android:textSize="20dp"
                android:text="加入购物车"
                android:background="#ff3300"
                android:ems="6"/>
       
   

 

//V层

public class HomeFragment extends BaseFragment implements HomeView{

    private XBanner xBanner;
    private List imgs=new ArrayList<>();
    private RecyclerView recyclerView1;
    private RecyclerView recyclerView2;
    private RecyclerView recyclerView3;

    @Override
    protected void initData() {
        presenter.home();
    }

    @Override
    protected void initListener() {

    }

    @Override
    protected void initView() {
        xBanner = getView().findViewById(R.id.home_xbanner);
        recyclerView1 = getView().findViewById(R.id.fenlei_recycler);
        recyclerView2 = getView().findViewById(R.id.maiosha_recycler);
        recyclerView3 = getView().findViewById(R.id.tuijian_recycler);
    }

    @Override
    protected HomePresenter providePresenter() {
        return new HomePresenter(this);
    }

    @Override
    protected int provideLayoutId() {
        return R.layout.home_fragment;
    }

    @Override
    public void onHomeSuccess(HomeBean homeBean) {
        String code = homeBean.getCode();
        String msg = homeBean.getMsg();
        if (code.equals("0")){
            Log.e("home", "onHomeSuccess: 成功"+msg );
            List banner = homeBean.getData().getBanner();
            for (int i = 0; i < banner.size(); i++) {
                imgs.add(banner.get(i).getIcon());
            }
            xBanner.setData(imgs,null);
            xBanner.setmAdapter(new XBanner.XBannerAdapter() {
                @Override
                public void loadBanner(XBanner banner, Object model, View view, int position) {
                    Glide.with(getActivity()).load(imgs.get(position)).into((ImageView)view);
                }
            });
            xBanner.setPageTransformer(Transformer.Default);
            xBanner.setPageChangeDuration(1000);

           //分类
            List fenlei = homeBean.getData().getFenlei();
            FenLeiRecyclerAdapter fenLeiRecyclerAdapter = new FenLeiRecyclerAdapter(fenlei);
            GridLayoutManager gridLayoutManager1 = new GridLayoutManager(getContext(), 2);
            gridLayoutManager1.setOrientation(GridLayoutManager.HORIZONTAL);
            recyclerView1.setLayoutManager(gridLayoutManager1);
            recyclerView1.setAdapter(fenLeiRecyclerAdapter);

            //秒杀
            List miaosha = homeBean.getData().getMiaosha().getList();
            MiaoShaRecyclerAdapter miaoShaRecyclerAdapter = new MiaoShaRecyclerAdapter(miaosha);
            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
            linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
            recyclerView2.setLayoutManager(linearLayoutManager);
            recyclerView2.setAdapter(miaoShaRecyclerAdapter);
            final List tuijian = homeBean.getData().getTuijian().getList();

            //推荐
            TuiJianRecyclerAdapter tuiJianRecyclerAdapter = new TuiJianRecyclerAdapter(tuijian);
            GridLayoutManager gridLayoutManager2 = new GridLayoutManager(getContext(), 2);
            recyclerView3.setLayoutManager(gridLayoutManager2);
            recyclerView3.setAdapter(tuiJianRecyclerAdapter);
            tuiJianRecyclerAdapter.setOnItemClickListener(new TuiJianRecyclerAdapter.OnItemClickListener() {
                @Override
                public void onItemClick(View view, int postion) {
                    int pid = tuijian.get(postion).getPid();
                    Intent intent = new Intent(getActivity(), HomeActivity.class);
                    intent.putExtra("pid",pid);
                    startActivity(intent);
                }
            });
        }else {
            Log.e("home", "onHomeSuccess: 失败"+msg );
        }
    }

    @Override
    public void onHomeFaild(String error) {
        Log.e("home", "onHomeSuccess: 错误"+error );
    }

    @Override
    public void onXiangSuccess(XiangQingBean xiangQingBean) {

    }

    @Override
    public void onXiangFaild(String error) {

    }

    @Override
    public void onAddSuccess(HomeAddBean homeAddBean) {

    }

    @Override
    public void onAddFaild(String error) {

    }

    @Override
    public Context context() {
        return getActivity();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }
}

 

 

//详情

public class HomeActivity extends BaseActivity implements HomeView {

    private XBanner xBanner;
    private TextView title,subhead,price;
    private int pid;
    private List imgs=new ArrayList<>();
    private Button button;

    @Override
    protected void initData() {
        presenter.query(pid);
    }

    @Override
    protected void initListener() {
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                presenter.add(pid);
            }
        });
    }

    @Override
    protected void initView() {
        xBanner = findViewById(R.id.xiangqing_xbanner);
        title = findViewById(R.id.xiangqing_title);
        subhead=findViewById(R.id.xiangqing_subhead);
        price=findViewById(R.id.xiangqing_price);
        button = findViewById(R.id.xiangqing_button);
        Intent intent = getIntent();
        pid = intent.getIntExtra("pid", 0);
    }

    @Override
    protected HomePresenter providePresenter() {
        return new HomePresenter(this);
    }

    @Override
    protected int provideLayoutId() {
        return R.layout.activity_home;
    }

    @Override
    public void onHomeSuccess(HomeBean homeBean) {

    }

    @Override
    public void onHomeFaild(String error) {

    }

    @Override
    public void onXiangSuccess(XiangQingBean xiangQingBean) {
        String code = xiangQingBean.getCode();
        String msg = xiangQingBean.getMsg();
        if (code.equals("0")){
            Log.e("xiangqing", "onHomeSuccess: 成功"+msg );
            XiangQingBean.DataBean data = xiangQingBean.getData();
            title.setText(data.getTitle());
            price.setText("¥"+data.getPrice());
            subhead.setText(data.getSubhead());
            String[] split = data.getImages().split("\\|");
            List list = Arrays.asList(split);
            for (int i = 0; i < list.size(); i++) {
                imgs.add(split[i]);
            }
            xBanner.setData(imgs,null);
            xBanner.setmAdapter(new XBanner.XBannerAdapter() {
                @Override
                public void loadBanner(XBanner banner, Object model, View view, int position) {
                    Glide.with(HomeActivity.this).load(imgs.get(position)).into((ImageView) view);
                }
            });
            xBanner.setPageTransformer(Transformer.Default);
            xBanner.setPageChangeDuration(1000);
        }else {
            Log.e("xiangqing", "onHomeSuccess: 失败"+msg );
        }
    }

    @Override
    public void onXiangFaild(String error) {

    }

    @Override
    public void onAddSuccess(HomeAddBean homeAddBean) {
        String code = homeAddBean.getCode();
        String msg = homeAddBean.getMsg();
        if (code.equals("0")){
            Toast.makeText(HomeActivity.this,""+msg,Toast.LENGTH_SHORT).show();
        }else {
            Toast.makeText(HomeActivity.this,""+msg,Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onAddFaild(String error) {

    }

    @Override
    public Context context() {
        return this;
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}

 

你可能感兴趣的:((仿)京东首页+详情(Fragment))