MenuFragment.java 5.49 KB
package com.huaheng.wms.fragment;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.huaheng.wms.R;
import com.huaheng.wms.WMSLog;
import com.huaheng.wms.adapter.MyPageAdapter;
import com.huaheng.wms.adapter.RecyclerViewAdapter;
import com.huaheng.wms.work.collectgoods.CollectGoodsActivity;
import com.huaheng.wms.work.inventory.InventoryActivity;
import com.huaheng.wms.load.LoadActivity;
import com.huaheng.wms.menu.MenuBean;
import com.huaheng.wms.menu.ModulesBean;
import com.huaheng.wms.work.onshell.OnshellActivity;
import com.huaheng.wms.work.picking.PickingActivity;
import com.huaheng.wms.work.query.InventoryQueryActivity;
import com.huaheng.wms.work.review.ReviewActivity;
import com.huaheng.wms.work.transfer.TransferActivity;
import com.huaheng.wms.util.DataBaseHelpter;
import com.huaheng.wms.util.WMSUtils;

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

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;

public class MenuFragment extends BaseFragment {


    @BindView(R.id.viewpager)
    ViewPager viewpager;
    Unbinder unbinder;
    private View v1;
    private GridLayoutManager layoutManager;
    private RecyclerView recyclerView;
    private RecyclerViewAdapter adapter;
    private Context mContext;
    private ArrayList<MenuBean> menuBeans;

    @Override
    public View layout(LayoutInflater inflater) {
        View view = inflater.inflate(R.layout.fragment_menu, null);
        return view;
    }

    @Override
    public void releaseMemory() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // TODO: inflate a fragment view
        View rootView = super.onCreateView(inflater, container, savedInstanceState);
        mContext = getContext();
        WMSUtils.requestAppPermission(getActivity());
        unbinder = ButterKnife.bind(this, rootView);
        LayoutInflater li = getLayoutInflater();
        v1 = li.inflate(R.layout.activity_menu, null);
        layoutManager = new GridLayoutManager(getContext(), 3);
        adapter = new RecyclerViewAdapter(getContext());
        recyclerView = (RecyclerView) v1.findViewById(R.id.recycleView);
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(adapter);
        menuBeans = buildMenuBeans();
        adapter.setList(menuBeans);
        adapter.setOnItemClickListener(listener);
        ArrayList<View> aList = new ArrayList<View>();
        aList.add(v1);
        MyPageAdapter mAdapter = new MyPageAdapter(aList);
        viewpager.setAdapter(mAdapter);
        return rootView;
    }

    private ArrayList<MenuBean> buildMenuBeans() {
        List<ModulesBean> modulesBeans = DataBaseHelpter.queryAllModule();
        for (int i = 0; i < modulesBeans.size(); i++) {
        }
        ArrayList<MenuBean> menuBeans = new ArrayList<>();
        ArrayList<String> menuList = MenuConstant.getMenuList(mContext);
        ArrayList<Drawable> drawableList = MenuConstant.getMenuDrawable(mContext);
        MenuBean menuBean;
        for (int i = 0; i < modulesBeans.size(); i++) {
            if (!modulesBeans.get(i).getType().equals("1")) {
                continue;
            }
            for (int j = 0; j < menuList.size(); j++) {
                if (modulesBeans.get(i).getModuleName().equals(menuList.get(j))) {
                    menuBean = new MenuBean(drawableList.get(j), menuList.get(j));
                    menuBeans.add(menuBean);
                }
            }
        }
        return menuBeans;
    }

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

    private void chooseItemListener(int positino) {
        MenuBean bean = menuBeans.get(positino);
        String name = bean.getName();
        if (name.equals(mContext.getString(R.string.collect_goods))) {
            WMSUtils.startActivity(mContext, CollectGoodsActivity.class);
        } else if (name.equals(mContext.getString(R.string.on_the_shelf))) {
            WMSUtils.startActivity(mContext, OnshellActivity.class);
        } else if (name.equals(mContext.getString(R.string.picking))) {
            WMSUtils.startActivity(mContext, PickingActivity.class);
        } else if (name.equals(mContext.getString(R.string.review))) {
            WMSUtils.startActivity(mContext, ReviewActivity.class);
        } else if (name.equals(mContext.getString(R.string.load))) {
            WMSUtils.startActivity(mContext, LoadActivity.class);
        } else if (name.equals(mContext.getString(R.string.inventory))) {
            WMSUtils.startActivity(mContext, InventoryActivity.class);
        } else if (name.equals(mContext.getString(R.string.inventory_query))) {
            WMSUtils.startActivity(mContext, InventoryQueryActivity.class);
        } else if (name.equals(mContext.getString(R.string.transfer_library))) {
            WMSUtils.startActivity(mContext, TransferActivity.class);
        }
    }


    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }
}