MainActivity.java 7.53 KB
package com.huaheng.mobilewms;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;

import com.huaheng.mobilewms.activity.inventory.CheckActivity;
import com.huaheng.mobilewms.activity.inventory.InventoryActivity;
import com.huaheng.mobilewms.activity.material.MaterialActivity;
import com.huaheng.mobilewms.activity.model.CommonActivity;
import com.huaheng.mobilewms.activity.printer.PrinterActivity;
import com.huaheng.mobilewms.activity.receipt.ReceiptActivity;
import com.huaheng.mobilewms.activity.receipt.ReceiptListActivity;
import com.huaheng.mobilewms.activity.shipment.ShipmentListActivity;
import com.huaheng.mobilewms.activity.task.TaskActivity;
import com.huaheng.mobilewms.adapter.RecyclerViewAdapter;
import com.huaheng.mobilewms.bean.MenuBean;
import com.huaheng.mobilewms.util.MenuConstant;
import com.huaheng.mobilewms.util.WMSUtils;

import java.util.ArrayList;

import butterknife.BindView;
import butterknife.ButterKnife;


/**
 * Created by youjie on 2020/12/10
 */
public class MainActivity extends CommonActivity {


    @BindView(R.id.receiptRecycleView)
    RecyclerView receiptRecycleView;
    @BindView(R.id.shipmentRecycleView)
    RecyclerView shipmentRecycleView;
    @BindView(R.id.inventoryRecycleView)
    RecyclerView inventoryRecycleView;
    @BindView(R.id.basicRecycleView)
    RecyclerView basicRecycleView;

    private GridLayoutManager receiptLayoutManager, shipmentLayoutManager, inventoryLayoutManager, basicLayoutManager;
    private int spanCount = 4;
    private RecyclerViewAdapter receiptAdapter, shipmentAdapter, inventoryAdapter, basicAdapter;
    private ArrayList <MenuBean> receiptBeans, shipmentBeans, inventoryBeans, basicBeans;

    @Override
    protected void initActivityOnCreate(Bundle savedInstanceState) {
        super.initActivityOnCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        ButterKnife.bind(this);
        setTitle(mContext.getString(R.string.main_page));
        setBackImage(View.GONE);
        initView();
    }


    private void initView() {
        receiptLayoutManager = new GridLayoutManager(mContext, spanCount);
        shipmentLayoutManager = new GridLayoutManager(mContext, spanCount);
        inventoryLayoutManager = new GridLayoutManager(mContext, spanCount);
        basicLayoutManager = new GridLayoutManager(mContext, spanCount);
        receiptAdapter = new RecyclerViewAdapter(mContext, 2);
        shipmentAdapter = new RecyclerViewAdapter(mContext, 1);
        inventoryAdapter = new RecyclerViewAdapter(mContext, 1);
        basicAdapter = new RecyclerViewAdapter(mContext, 1);
        receiptRecycleView.setLayoutManager(receiptLayoutManager);
        receiptRecycleView.setAdapter(receiptAdapter);
        shipmentRecycleView.setLayoutManager(shipmentLayoutManager);
        shipmentRecycleView.setAdapter(shipmentAdapter);
        inventoryRecycleView.setLayoutManager(inventoryLayoutManager);
        inventoryRecycleView.setAdapter(inventoryAdapter);
        basicRecycleView.setLayoutManager(basicLayoutManager);
        basicRecycleView.setAdapter(basicAdapter);
        receiptBeans = buildMenuBeans();
        shipmentBeans = buildShipmentMenuBeans();
        inventoryBeans = buildInventoryMenuBeans();
        basicBeans = buildBasicMenuBeans();
        if (receiptBeans != null) {
            receiptAdapter.setList(receiptBeans);
        }
        if (shipmentBeans != null) {
            shipmentAdapter.setList(shipmentBeans);
        }
        if (inventoryBeans != null) {
            inventoryAdapter.setList(inventoryBeans);
        }
        if (basicBeans != null) {
            basicAdapter.setList(basicBeans);
        }
        receiptAdapter.setOnItemClickListener(listener);
        shipmentAdapter.setOnItemClickListener(listener);
        inventoryAdapter.setOnItemClickListener(listener);
        basicAdapter.setOnItemClickListener(listener);
    }

    private ArrayList <MenuBean> buildMenuBeans() {
        ArrayList <MenuBean> menuBeans = new ArrayList <>();
        ArrayList <String> menuList = MenuConstant.getMenuList(mContext);
        ArrayList <Drawable> drawableList = MenuConstant.getMenuDrawable(mContext);
        MenuBean menuBean;
        for (int i = 0; i < menuList.size(); i++) {
            menuBean = new MenuBean(drawableList.get(i), menuList.get(i));
            menuBeans.add(menuBean);
        }
        return menuBeans;
    }

    private ArrayList <MenuBean> buildShipmentMenuBeans() {
        ArrayList <MenuBean> menuBeans = new ArrayList <>();
        ArrayList <String> menuList = MenuConstant.getShipmentMenuList(mContext);
        ArrayList <Drawable> drawableList = MenuConstant.getShipmentMenuDrawable(mContext);
        MenuBean menuBean;
        for (int i = 0; i < menuList.size(); i++) {
            menuBean = new MenuBean(drawableList.get(i), menuList.get(i));
            menuBeans.add(menuBean);
        }
        return menuBeans;
    }

    private ArrayList <MenuBean> buildInventoryMenuBeans() {
        ArrayList <MenuBean> menuBeans = new ArrayList <>();
        ArrayList <String> menuList = MenuConstant.getInventoryMenuList(mContext);
        ArrayList <Drawable> drawableList = MenuConstant.getInventoryMenuDrawable(mContext);
        MenuBean menuBean;
        for (int i = 0; i < menuList.size(); i++) {
            menuBean = new MenuBean(drawableList.get(i), menuList.get(i));
            menuBeans.add(menuBean);
        }
        return menuBeans;
    }

    private ArrayList <MenuBean> buildBasicMenuBeans() {
        ArrayList <MenuBean> menuBeans = new ArrayList <>();
        ArrayList <String> menuList = MenuConstant.getBasicMenuList(mContext);
        ArrayList <Drawable> drawableList = MenuConstant.getBasicMenuDrawable(mContext);
        MenuBean menuBean;
        for (int i = 0; i < menuList.size(); i++) {
            menuBean = new MenuBean(drawableList.get(i), menuList.get(i));
            menuBeans.add(menuBean);
        }
        return menuBeans;
    }

    private RecyclerViewAdapter.OnRecyclerViewItemClickListener listener = new RecyclerViewAdapter.OnRecyclerViewItemClickListener() {
        @Override
        public void onItemClick(int position) {
            chooseItemListener(position);
        }
    };

    private void chooseItemListener(int positino) {
        MenuBean bean = receiptBeans.get(positino);
        String name = bean.getName();
        if (name.equals(mContext.getString(R.string.bulk_collection))) {
            WMSUtils.startActivity(mContext, ReceiptActivity.class);
        } else if (name.equals(mContext.getString(R.string.shipment))) {
            WMSUtils.startActivity(mContext, ShipmentListActivity.class);
        } else if (name.equals(mContext.getString(R.string.task))) {
            WMSUtils.startActivity(mContext, TaskActivity.class);
        } else if (name.equals(mContext.getString(R.string.menu_inventory))) {
            WMSUtils.startActivity(mContext, InventoryActivity.class);
        } else if (name.equals(mContext.getString(R.string.printer))) {
            WMSUtils.startActivity(mContext, PrinterActivity.class);
        } else if (name.equals(mContext.getString(R.string.materialManager))) {
            WMSUtils.startActivity(mContext, MaterialActivity.class);
        } else if (name.equals(mContext.getString(R.string.check))) {
            WMSUtils.startActivity(mContext, CheckActivity.class);
        } else if (name.equals(mContext.getString(R.string.setting))) {
            WMSUtils.startActivity(mContext, SettingsActivity.class);
        }
    }

}