package com.dreamspace.uucampus.ui; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.bigkoo.convenientbanner.CBPageAdapter; import com.bigkoo.convenientbanner.CBViewHolderCreator; import com.bigkoo.convenientbanner.ConvenientBanner; import com.dreamspace.uucampus.R; import com.dreamspace.uucampus.api.ApiManager; import com.dreamspace.uucampus.common.utils.CommonUtils; import com.dreamspace.uucampus.common.utils.NetUtils; import com.dreamspace.uucampus.common.utils.PreferenceUtils; import com.dreamspace.uucampus.model.AdItem; import com.dreamspace.uucampus.model.ShopItem; import com.dreamspace.uucampus.model.api.GetAdRes; import com.dreamspace.uucampus.model.api.SearchShopRes; import com.dreamspace.uucampus.ui.activity.FreeGoods.FreeGoodsActivity; import com.dreamspace.uucampus.ui.activity.Market.FastInAct; import com.dreamspace.uucampus.ui.base.BaseLazyFragment; import java.util.ArrayList; import java.util.List; import butterknife.Bind; import butterknife.ButterKnife; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; /** * Created by money on 2015/9/14. */ public class HomeFragment extends BaseLazyFragment { @Bind(R.id.home_page_banner) ConvenientBanner banner; @Bind(R.id.free_goods_ll) LinearLayout freeGoodsLl; @Bind(R.id.travel_ll) LinearLayout travelLl; @Bind(R.id.driver_school_ll) LinearLayout driverSchoolLl; @Bind(R.id.class_uniform_ll) LinearLayout classUniformLl; @Bind(R.id.studying_abroad_ll) LinearLayout studyAbroadLl; @Bind(R.id.personal_shop_ll) LinearLayout personalShopLl; @Bind(R.id.study_abroad_rl) RelativeLayout studyAbroadRl; @Bind(R.id.free_goods_rl) RelativeLayout freeGoodsRl; @Bind(R.id.travel_rl) RelativeLayout travelRl; @Bind(R.id.driver_school_rl) RelativeLayout driverSchoolRl; @Bind(R.id.personal_shop_rl) RelativeLayout personalShopRl; @Bind(R.id.free_goods_linear) LinearLayout freeGoodsLinear; @Bind(R.id.person_shop_Linear) LinearLayout personShopLinear; @Bind(R.id.driver_school_Linear) LinearLayout driverSchoolLinear; @Bind(R.id.study_abroad_Linear) LinearLayout studyAbroadLinear; @Bind(R.id.travel_Linear) LinearLayout travelLinear; @Bind(R.id.home_personal_shop_one_img) ImageView homePersonalShopOneImg; @Bind(R.id.home_personal_shop_one_text) TextView homePersonalShopOneText; @Bind(R.id.home_personal_shop_two_img) ImageView homePersonalShopTwoImg; @Bind(R.id.home_personal_shop_two_text) TextView homePersonalShopTwoText; @Bind(R.id.home_personal_shop_three_img) ImageView homePersonalShopThreeImg; @Bind(R.id.home_personal_shop_three_text) TextView homePersonalShopThreeText; @Bind(R.id.home_personal_shop_four_img) ImageView homePersonalShopFourImg; @Bind(R.id.home_personal_shop_four_text) TextView homePersonalShopFourText; @Bind(R.id.home_driver_school_one_img) ImageView homeDriverSchoolOneImg; @Bind(R.id.home_driver_school_one_text) TextView homeDriverSchoolOneText; @Bind(R.id.home_driver_school_two_img) ImageView homeDriverSchoolTwoImg; @Bind(R.id.home_driver_school_two_text) TextView homeDriverSchoolTwoText; @Bind(R.id.home_driver_school_three_img) ImageView homeDriverSchoolThreeImg; @Bind(R.id.home_driver_school_three_text) TextView homeDriverSchoolThreeText; private ArrayList<AdItem> ads; @Override protected void onFirstUserVisible() { if (ads == null && banner != null) { getAd(); } else { initBanner(); } setShop("人气小店"); setShop("驾校"); } @Override protected void onUserVisible() { } @Override protected void onUserInvisible() { } @Override protected void initViewsAndEvents() { travelLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.travel)); readyGo(FastInAct.class, bundle); } }); classUniformLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.class_uniform)); readyGo(FastInAct.class, bundle); } }); driverSchoolLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.driver_school)); readyGo(FastInAct.class, bundle); } }); studyAbroadLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.study_abroad)); readyGo(FastInAct.class, bundle); } }); personalShopLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.personal_shop)); readyGo(FastInAct.class, bundle); } }); freeGoodsLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //快捷方式进入闲置页面 readyGo(FreeGoodsActivity.class); } }); travelRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.travel)); readyGo(FastInAct.class, bundle); } }); driverSchoolRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.driver_school)); readyGo(FastInAct.class, bundle); } }); studyAbroadRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.study_abroad)); readyGo(FastInAct.class, bundle); } }); personalShopRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.personal_shop)); readyGo(FastInAct.class, bundle); } }); freeGoodsRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //快捷方式进入闲置页面 readyGo(FreeGoodsActivity.class); } }); freeGoodsLinear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { readyGo(FreeGoodsActivity.class); } }); personShopLinear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.personal_shop)); readyGo(FastInAct.class, bundle); } }); studyAbroadLinear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.study_abroad)); readyGo(FastInAct.class, bundle); } }); driverSchoolLinear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.driver_school)); readyGo(FastInAct.class, bundle); } }); travelLinear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle bundle = new Bundle(); bundle.putString(FastInAct.CATEGORY, getResources().getString(R.string.travel)); readyGo(FastInAct.class, bundle); } }); } @Override protected int getContentViewLayoutID() { return R.layout.fragment_first; } @Override protected View getLoadingTargetView() { return null; } private void initBanner() { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < ads.size(); i++) { list.add(ads.get(i).getImage()); } banner.setPages( new CBViewHolderCreator<NetworkImageHolderView>() { @Override public NetworkImageHolderView createHolder() { return new NetworkImageHolderView(); } } , list) .setPageTransformer(ConvenientBanner.Transformer.DefaultTransformer); banner.startTurning(3000); } @Override public void onDestroyView() { super.onDestroyView(); ButterKnife.unbind(this); } public class NetworkImageHolderView implements CBPageAdapter.Holder<String> { private ImageView imageView; @Override public View createView(Context context) { imageView = new ImageView(context); imageView.setScaleType(ImageView.ScaleType.FIT_XY); return imageView; } @Override public void UpdateUI(Context context, final int position, String data) { CommonUtils.showImageWithGlide(context, imageView, data); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //点击广告栏,打开相应的网址 Uri uri = Uri.parse(ads.get(position).getLink()); startActivity(new Intent(Intent.ACTION_VIEW, uri)); } }); } } private void setShop(final String category){ if(NetUtils.isNetworkConnected(getActivity())){ ApiManager.getService(getActivity()).searchShop(" ", null, category, 1, PreferenceUtils.getString(getActivity(),PreferenceUtils.Key.LOCATION), new Callback<SearchShopRes>() { @Override public void success(SearchShopRes searchShopRes, Response response) { List<ShopItem> shops = new ArrayList<ShopItem>(); shops = searchShopRes.getResult(); List<ImageView> shopsImg = new ArrayList<ImageView>(); List<TextView> shopsText = new ArrayList<TextView>(); if(category.equals("人气小店")){ shopsImg.add(homePersonalShopOneImg); shopsImg.add(homePersonalShopTwoImg); shopsImg.add(homePersonalShopThreeImg); shopsImg.add(homePersonalShopFourImg); shopsText.add(homePersonalShopOneText); shopsText.add(homePersonalShopTwoText); shopsText.add(homePersonalShopThreeText); shopsText.add(homePersonalShopFourText); }else{ shopsImg.add(homeDriverSchoolOneImg); shopsImg.add(homeDriverSchoolTwoImg); shopsImg.add(homeDriverSchoolThreeImg); shopsText.add(homeDriverSchoolOneText); shopsText.add(homeDriverSchoolTwoText); shopsText.add(homeDriverSchoolThreeText); } for(int i=0;i<shops.size();i++){ CommonUtils.showImageWithGlide(mContext,shopsImg.get(i),shops.get(i).getImage()); shopsText.get(i).setText(shops.get(i).getName()); } } @Override public void failure(RetrofitError error) { showInnerError(error); } }); }else{ showNetWorkError(); } } //获取广告栏信息 private void getAd() { if (NetUtils.isNetworkAvailable(getActivity())) { ApiManager.getService(getActivity()).getAd(new Callback<GetAdRes>() { @Override public void success(GetAdRes getAdRes, Response response) { ads = new ArrayList<AdItem>(); ads = getAdRes.getAdvertisement(); initBanner(); } @Override public void failure(RetrofitError error) { showInnerError(error); } }); } else { showNetWorkError(); } } }