package com.example.baseadapter;
import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView;
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
public class MainActivity extends Activity { private ListView listView=null; private List<Map<String, Object>> listdata = null;
// private final static String TAG="MyAdapter"; private int[] icon = {R.drawable.jinniu, R.drawable.juxie, R.drawable.tiancheng, R.drawable.tianxie, R.drawable.chunv, R.drawable.baiyang, R.drawable.funv, R.drawable.numa, R.drawable.shuangyu, R.drawable.shizi, R.drawable.sheshou, R.drawable.shuangyu1}; private String[] title = {"金牛座", "巨蟹座", "天秤座", "天蝎座", "雙子座", "白羊座", "處女座", "摩羯座", "水瓶座", "獅子座", "射手座", "雙魚座"}; private String[] descrip = {"jiuniuzuo", "juxiezuo", "tianchengzuo", "tianxiezuo", "shuangzizuo", "baiyangzuo", "chunvzuo", "mojiezuo", "shuipingzuo", "shizizuo", "sheshouzuo", "shuangyuzuo"};
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list_view);
// data = new ArrayList<Map<String,Object>>(); listdata = getDate(); MyAdapter adapter = new MyAdapter(this); listView.setAdapter(adapter); }
public List<Map<String, Object>> getDate() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map; for (int i = 0; i < 12; i++) { map = new HashMap<String, Object>(); map.put("icon", icon[i]); map.put("title", title[i]); map.put("descrip", descrip[i]); list.add(map); } return list; }
public class MyAdapter extends BaseAdapter { LayoutInflater inflater = null;
// private Context mContext; public MyAdapter(Context context) { // this.mContext = context; this.inflater = LayoutInflater.from(context); }
@Override public int getCount() { return listdata.size(); }
@Override public Object getItem(int position) { return listdata.get(position); }
@Override public long getItemId(int position) { return position; }
@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = inflater.inflate(R.layout.items, null); holder = new ViewHolder(); holder.icon = (ImageView) findViewById(R.id.iv_img); holder.title = (TextView) findViewById(R.id.tv_title); holder.descrip = (TextView) findViewById(R.id.tv_descrip); holder.button = (Button) findViewById(R.id.button); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); }
holder.icon.setBackgroundResource((Integer) listdata.get(position).get("icon")); holder.title.setText(listdata.get(position).get("title").toString()); holder.descrip.setText((String) listdata.get(position).get("descrip"));
return convertView; } }
final class ViewHolder { public ImageView icon; public TextView title; public TextView descrip; public Button button; } }
|