package com.hyrt.cei.ui.econdata.adapter; import java.util.List; import com.hyrt.cei.vo.ColumnEntry; import com.hyrt.ceiphone.R; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; public class GridViewAdapter extends BaseAdapter { private List<ColumnEntry> columnEntries; private LayoutInflater inflater; private int width; private Context context; public GridViewAdapter(Context context, List<ColumnEntry> columnEntries) { this.columnEntries = columnEntries; inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); DisplayMetrics metric = new DisplayMetrics(); ((Activity) context).getWindowManager().getDefaultDisplay() .getMetrics(metric); width = metric.widthPixels; this.context = context; } @Override public int getCount() { return columnEntries.size(); } @Override public Object getItem(int position) { return columnEntries.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { RelativeLayout item = (RelativeLayout) inflater.inflate( R.layout.phone_study_gridview_item, null); item.setLayoutParams(new GridView.LayoutParams( getCount() >= 4 ? width / 4 : width / getCount(), 40)); if (((Activity) context).getIntent().getStringExtra("topNum") != null && Integer.parseInt(((Activity) context).getIntent().getStringExtra("topNum"))==position) { ((ImageView) item.getChildAt(0)).setImageResource(R.drawable.phone_study_menu_select); ((TextView) item.getChildAt(1)).setTextColor(Color.WHITE); }else if(position == 0){ ((ImageView)item.getChildAt(0)).setImageResource(R.drawable.phone_study_menu_select); ((TextView) item.getChildAt(1)).setTextColor(Color.WHITE); }else{ ((TextView) item.getChildAt(1)).setTextColor(Color.BLUE); } TextView tv = (TextView) item.getChildAt(1); tv.setText(columnEntries.get(position).getName()); return item; } }