package com.wistron.WiGallery;
import android.content.Context;
import android.graphics.Color;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.wistron.swpc.wicamera3dii.R;
public class GalleryListViewAdapter extends BaseAdapter {
private MainMenuViewHolder mMainMenuViewHolder;
private Context mContext;
private int[][] mResId = null;
private int mItemid = -1;
private int mMenuType = 0;
public static final int MENU_TYPE_MAIN_MENU = 0x220;
public static final int MENU_TYPE_MOVETO_MENU = 0x221;
public static final int MENU_TYPE_GROUP_MENU = 0x222;
public static final int MENU_TYPE_ORDER_MENU = 0x223;
public static final int MENU_TYPE_FILTER_MENU = 0x224;
public GalleryListViewAdapter(Context context,int[][] resid) {
// TODO Auto-generated constructor stub
this.mContext = context;
mResId = resid;
}
@Override
public int getCount() {
return mResId.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public int getItemStartId(){
return mItemid;
}
public void setItemStartId(int id){
mItemid = id;
}
public void setResId(int[][] resid){
mResId = resid;
}
public void setMenuType(int type){
mMenuType = type;
}
@Override
public boolean isEnabled(int position) {
// TODO Auto-generated method stub
Log.v("", "isEnabled");
switch (mMenuType) {
case MENU_TYPE_MAIN_MENU:
if (position == WiGalleryActivity.mMoreMenuDisableClickPosition) {
Log.v("", "此选项不可用");
return false;
}
break;
case MENU_TYPE_GROUP_MENU:
if (position == WiGalleryActivity.mGroupMenuCurClickPosition) {
Log.v("", "此选项不可用");
return false;
}
break;
case MENU_TYPE_ORDER_MENU:
if (position == WiGalleryActivity.mOrderMenuCurClickPosition) {
Log.v("", "此选项不可用");
return false;
}
break;
case MENU_TYPE_FILTER_MENU:
if (position == WiGalleryActivity.mFilterMenuCurClickPosition) {
Log.v("", "此选项不可用");
return false;
}
break;
}
return super.isEnabled(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
mMainMenuViewHolder = null;
if (convertView == null) {
mMainMenuViewHolder = new MainMenuViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.gallery_menu_item, null);
mMainMenuViewHolder.mImageView = (ImageView) convertView.findViewById(R.id.galleryMenuIcon);
mMainMenuViewHolder.mTextView = (TextView) convertView.findViewById(R.id.galleryMenuText);
convertView.setTag(mMainMenuViewHolder);
} else {
mMainMenuViewHolder = (MainMenuViewHolder) convertView.getTag();
}
mMainMenuViewHolder.mImageView.setImageResource(mResId[position][0]);
mMainMenuViewHolder.mTextView.setText(mContext.getResources().getText(mResId[position][1]));
convertView.setId(mItemid + position);
switch (mMenuType) {
case MENU_TYPE_MAIN_MENU:
if (position == WiGalleryActivity.mMoreMenuCurClickPosition) {
mMainMenuViewHolder.mTextView.setTextColor(WiGalleryActivity.COLORSTATELIST_GREEN);
}else{
mMainMenuViewHolder.mTextView.setTextColor(WiGalleryActivity.COLORSTATELIST_WHITE);
}
break;
case MENU_TYPE_GROUP_MENU:
if (position == WiGalleryActivity.mGroupMenuCurClickPosition) {
mMainMenuViewHolder.mTextView.setTextColor(Color.GRAY);
}else{
mMainMenuViewHolder.mTextView.setTextColor(WiGalleryActivity.COLORSTATELIST_WHITE);
}
break;
case MENU_TYPE_ORDER_MENU:
if (position == WiGalleryActivity.mOrderMenuCurClickPosition) {
mMainMenuViewHolder.mTextView.setTextColor(Color.GRAY);
}else{
mMainMenuViewHolder.mTextView.setTextColor(WiGalleryActivity.COLORSTATELIST_WHITE);
}
break;
case MENU_TYPE_FILTER_MENU:
if (position == WiGalleryActivity.mFilterMenuCurClickPosition) {
mMainMenuViewHolder.mTextView.setTextColor(Color.GRAY);
}else{
mMainMenuViewHolder.mTextView.setTextColor(WiGalleryActivity.COLORSTATELIST_WHITE);
}
break;
}
if(mMenuType == MENU_TYPE_MAIN_MENU && position == WiGalleryActivity.mMoreMenuDisableClickPosition){
mMainMenuViewHolder.mTextView.setTextColor(Color.GRAY);
}
return convertView;
}
class MainMenuViewHolder {
ImageView mImageView;
TextView mTextView;
}
public void notifyDataSetChanged(){
super.notifyDataSetChanged();
}
}