package cn.crane.application.greenlife.ui;
import java.util.ArrayList;
import java.util.List;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.TextView;
import cn.crane.application.greenlife.R;
import cn.crane.application.greenlife.adapter.index.GridCatedoryAdapter;
import cn.crane.application.greenlife.adapter.index.ListArticleCatedoryAdapter;
import cn.crane.application.greenlife.adapter.index.PictureInfo;
import cn.crane.application.greenlife.bean.index.ArticleCategoryItem;
import cn.crane.application.greenlife.bean.index.GridCategoryItem;
import cn.crane.application.greenlife.ui.article.ArticleListActivity;
import cn.crane.application.greenlife.ui.merchant.FoodListActivity;
import cn.crane.application.greenlife.ui.merchant.MerchantListAtivity;
import cn.crane.framework.fragment.BaseFragment;
import cn.crane.framework.view.carouselview.CarouselItemInfo;
import cn.crane.framework.view.carouselview.CarouselView;
/**
* @author Ruifeng.yu E-mail:xyyh0116@aliyun.com
* @version Create Timeļ¼Jun 8, 2015 10:45:12 PM
*
*/
public class FragmentIndex extends BaseFragment implements OnClickListener, OnItemClickListener {
private CarouselView carouselView;
private GridView gvCategory;
private ListView lvArticle;
private TextView tvShilingzhong;
private TextView tvYouhui;
private TextView tvYuding;
private TextView tvMeishi;
private GridCatedoryAdapter gridCatedoryAdapter;
private ListArticleCatedoryAdapter articleCatedoryAdapter;
private List<GridCategoryItem> arrGridCategoryItems = new ArrayList<GridCategoryItem>();
private List<ArticleCategoryItem> arrArticleCategoryItems = new ArrayList<ArticleCategoryItem>();
private List<CarouselItemInfo> arrPictureInfos = new ArrayList<CarouselItemInfo>();
@Override
protected int getLayoutId() {
// TODO Auto-generated method stub
return R.layout.fragment_index;
}
@Override
protected void findViews() {
carouselView = (CarouselView) findViewById(R.id.carouseView);
gvCategory = (GridView) findViewById(R.id.grid_category);
lvArticle = (ListView) findViewById(R.id.lv);
tvShilingzhong = (TextView) findViewById(R.id.tv_shilingzhong);
tvYouhui= (TextView) findViewById(R.id.tv_youhui);
tvYuding= (TextView) findViewById(R.id.tv_yuding);
tvMeishi = (TextView) findViewById(R.id.tv_meishi);
}
@Override
protected void bindViews() {
gvCategory.setOnItemClickListener(this);
lvArticle.setOnItemClickListener(this);
tvShilingzhong.setOnClickListener(this);
tvYouhui.setOnClickListener(this);
tvYuding.setOnClickListener(this);
tvMeishi.setOnClickListener(this);
carouselView.setOnItemListener(itemListener);
}
@Override
protected void init() {
gridCatedoryAdapter = new GridCatedoryAdapter(getActivity(), arrGridCategoryItems);
gvCategory.setAdapter(gridCatedoryAdapter);
articleCatedoryAdapter = new ListArticleCatedoryAdapter(getActivity(), arrArticleCategoryItems);
lvArticle.setAdapter(articleCatedoryAdapter);
loadData();
}
private void loadData() {
String [] arrGrids = getResources().getStringArray(R.array.arr_grid_category);
arrGridCategoryItems.clear();
for(int i = 0;i< arrGrids.length;i++)
{
GridCategoryItem item = new GridCategoryItem();
item.setIconResId(R.drawable.icon_index_meishiwaimai);
item.setTxt(arrGrids[i]);
arrGridCategoryItems.add(item);
}
gridCatedoryAdapter.notifyDataSetChanged();
String [] arrArticles = getResources().getStringArray(R.array.arr_article_category);
int [] colors = new int []{R.color.main_color,R.color.txt_purple,R.color.txt_orange,R.color.txt_blue};
arrArticleCategoryItems.clear();
for(int i = 0;i< arrArticles.length;i++)
{
ArticleCategoryItem item = new ArticleCategoryItem();
item.setTxt(arrArticles[i]);
item.setBgColor(colors[i]);
arrArticleCategoryItems.add(item);
}
articleCatedoryAdapter.notifyDataSetChanged();
arrPictureInfos.clear();
for(int i = 0;i<3;i++)
{
PictureInfo info = new PictureInfo();
info.setDefaultImageRes(R.drawable.test_index_image);
info.setImageUrl("");
arrPictureInfos.add(info);
}
carouselView.setArrPictureInfos(arrPictureInfos);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_shilingzhong:
case R.id.tv_youhui:
case R.id.tv_yuding:
case R.id.tv_meishi:
MerchantListAtivity.show(getActivity());
break;
default:
break;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Object object = parent.getItemAtPosition(position);
switch (parent.getId()) {
case R.id.grid_category:
MerchantListAtivity.show(getActivity());
break;
case R.id.lv:
ArticleListActivity.show(getActivity());
break;
default:
break;
}
}
private CarouselView.OnItemListener itemListener = new CarouselView.OnItemListener() {
@Override
public void onItemClick(CarouselItemInfo pictureInfo) {
FoodListActivity.show(getActivity());
}
@Override
public void onItemChanged(int position) {
// TODO Auto-generated method stub
}
};
}