package com.Intelligent.FamilyU.model.main; import android.content.Intent; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.widget.RecyclerView; import android.view.KeyEvent; import android.view.MenuItem; import android.view.View; import android.widget.RelativeLayout; import android.widget.TextView; import com.Intelligent.FamilyU.R; import com.Intelligent.FamilyU.base.BaseFragmentActivity; import com.Intelligent.FamilyU.base.BasePagerAdapter; import com.Intelligent.FamilyU.manager.ActivityStackManager; import com.Intelligent.FamilyU.model.home.fragment.HomeFurnishingFragment; import com.Intelligent.FamilyU.model.message.activity.MessageListActivity; import com.Intelligent.FamilyU.model.my.fragment.HomeMyFragment; import com.Intelligent.FamilyU.model.plugin.activity.PluginActivity; import com.Intelligent.FamilyU.model.scene.fragment.HomeSceneMainFragment; import com.Intelligent.FamilyU.model.shopping.fragment.HomeShopingFragment; import com.Intelligent.FamilyU.model.user.activity.UserListActivity; import com.Intelligent.FamilyU.utils.ToastUtils; import com.Intelligent.FamilyU.view.CustomViewPager; import java.lang.ref.SoftReference; import java.util.ArrayList; import butterknife.BindView; import butterknife.OnClick; /** * 首頁 */ public class MainActivity extends BaseFragmentActivity { @BindView(R.id.view_pager) CustomViewPager viewPager; @BindView(R.id.page_title) TextView titleTv; @BindView(R.id.page_right_tv) TextView pageRightTv; @BindView(R.id.page_right_rl) RelativeLayout pageRightRl; @BindView(R.id.page_cancle) TextView pageCancle; // @BindView(R.id.drawer_layout) // DrawerLayout drawerLayout; // @BindView(R.id.header_rl) // RelativeLayout headerRl; // @BindView(R.id.user_list_number) // TextView userNumberTv; // @BindView(R.id.plugn_list_number) // TextView plugnNumberTv; private BasePagerAdapter mPagerAdapter; private ArrayList mFragmentList = new ArrayList<>(); private SoftReference mHomeFurnishingFragment = null; private SoftReference mHomeSceneFragment = null; private SoftReference mHomeShopingFragment = null; private SoftReference mHomeMyFragment = null; private FragmentManager mFragmentManager = null; private Fragment currentFragment = null; private long clickTime = 0; // 第一次点击的时间 // private MainPluginListRecyclerViewAdapter adapter; // private List> mlist = new ArrayList>(); // private LinearLayoutManager mLayoutManager; // private String[] nameStrings = null; // // private MainPluginListRecyclerViewAdapter.OnItemClickListener mOnItemClickListener = new MainPluginListRecyclerViewAdapter.OnItemClickListener() { // @Override // public void onItemClick(int postion) { // //dapter.notifyDataSetChanged(); // } // // @Override // public void onItemLongClick(int postion) { // // } // }; @Override protected int getContentViewId() { return R.layout.drawerlayout_main; } @Override protected void initBundleData() { } @Override protected void initView() { //initNavigationView(); //initAdapter(); } @Override protected void initData() { mHomeFurnishingFragment = new SoftReference(new HomeFurnishingFragment()); mHomeSceneFragment = new SoftReference(new HomeSceneMainFragment()); mHomeShopingFragment = new SoftReference(new HomeShopingFragment()); mHomeMyFragment = new SoftReference(new HomeMyFragment()); mFragmentList.add(mHomeFurnishingFragment.get()); mFragmentList.add(mHomeSceneFragment.get()); mFragmentList.add(mHomeShopingFragment.get()); mFragmentList.add(mHomeMyFragment.get()); mFragmentManager = getSupportFragmentManager(); mPagerAdapter = new BasePagerAdapter(mFragmentManager, mFragmentList); //设置Adapter viewPager.setAdapter(mPagerAdapter); viewPager.setScanScroll(false); viewPager.setCurrentItem(0); currentFragment = mFragmentList.get(0); titleTv.setText(R.string.home_furnishing); pageRightTv.setBackgroundResource(R.mipmap.icon_message); pageRightRl.setVisibility(View.VISIBLE); // pageCancle.setBackgroundResource(R.mipmap.dlna_head_menu); // userNumberTv.setText(mContext.getResources().getString(R.string.home_individual, 5)); // plugnNumberTv.setText(mContext.getResources().getString(R.string.home_individual, 3)); } // private void initNavigationView() { // //关闭手势滑动 // drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); // drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() { // @Override // public void onDrawerSlide(View view, float v) { // // } // // @Override // public void onDrawerOpened(View view) { // // } // // @Override // public void onDrawerClosed(View view) { // } // // @Override // public void onDrawerStateChanged(int i) { // // } // }); // } // @Override // public boolean onOptionsItemSelected(MenuItem item) { // if (item.getItemId() == android.R.id.home) { // //打开抽屉侧滑菜单 // drawerLayout.openDrawer(GravityCompat.START); // } // return super.onOptionsItemSelected(item); // } @OnClick({R.id.main_page, R.id.main_scene, R.id.main_shopping, R.id.main_my, R.id.page_back, R.id.page_right_rl, R.id.user_list_ll, R.id.plugn_list_ll}) public void onClick(View v) { Fragment mFragment = null; switch (v.getId()) { case R.id.main_page: mFragment = mHomeFurnishingFragment.get(); if (!mFragment.isAdded()) { mFragmentList.set(0, mFragment); } currentFragment = switchFragment(mFragmentManager, currentFragment, mFragment); viewPager.setCurrentItem(0); titleTv.setText(R.string.home_furnishing); pageRightRl.setVisibility(View.VISIBLE); pageCancle.setVisibility(View.VISIBLE); break; case R.id.main_scene: mFragment = mHomeSceneFragment.get(); if (!mFragment.isAdded()) { mFragmentList.set(1, mFragment); } currentFragment = switchFragment(mFragmentManager, currentFragment, mFragment); viewPager.setCurrentItem(1); titleTv.setText(R.string.home_scene); pageRightRl.setVisibility(View.GONE); break; case R.id.main_shopping: mFragment = mHomeShopingFragment.get(); if (!mFragment.isAdded()) { mFragmentList.set(2, mFragment); } currentFragment = switchFragment(mFragmentManager, currentFragment, mFragment); viewPager.setCurrentItem(2); titleTv.setText(R.string.home_shopping); pageRightRl.setVisibility(View.GONE); break; case R.id.main_my: mFragment = mHomeMyFragment.get(); if (!mFragment.isAdded()) { mFragmentList.set(3, mFragment); } currentFragment = switchFragment(mFragmentManager, currentFragment, mFragment); viewPager.setCurrentItem(3); titleTv.setText(R.string.home_my); pageRightRl.setVisibility(View.GONE); break; case R.id.page_right_rl: startActivity(new Intent(mContext, MessageListActivity.class)); break; case R.id.page_back: ActivityStackManager.getManager().exitApp(mContext); // drawerLayout.openDrawer(headerRl); break; } } @Override public void onBackPressed() { exit(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 是否触发按键为back键 if (keyCode == KeyEvent.KEYCODE_BACK) { onBackPressed(); return true; } else { // 如果不是back键正常响应 return super.onKeyDown(keyCode, event); } } private void exit() { if ((System.currentTimeMillis() - clickTime) > 2000) { ToastUtils.showToast(this, getResources().getString(R.string.home_exits)); clickTime = System.currentTimeMillis(); } else { ActivityStackManager.getManager().exitApp(mContext); } } @Override protected void onDestroy() { super.onDestroy(); ActivityStackManager.getManager().exitApp(mContext); } }