package com.lol.huixin.control; import android.os.Bundle; import android.util.Log; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.app.AlertDialog; import android.app.ListActivity; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.Menu; 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; public class BaseAdapterActivity extends Activity { private ListView listView; private List<Map<String,Object>> listMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_base_adapter); listView=(ListView)findViewById(R.id.listView); listMap=getData(); MyAdapter adapter=new MyAdapter(getApplicationContext()); listView.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.base_adapter, menu); return true; } private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("title", "G1"); map.put("info", "google 1"); map.put("img", R.drawable.a1); list.add(map); map = new HashMap<String, Object>(); map.put("title", "G2"); map.put("info", "google 2"); map.put("img", R.drawable.a2); list.add(map); map = new HashMap<String, Object>(); map.put("title", "G3"); map.put("info", "google 3"); map.put("img", R.drawable.a3); list.add(map); return list; } public static class ViewHolder{ public ImageView img; public TextView title; public TextView info; public Button viewBtn; } public class MyAdapter extends BaseAdapter{ public LayoutInflater myInflater; public MyAdapter(Context context){ ////根据context上下文加载布局,这里的是getApplicationContext()本身,即this this.myInflater=LayoutInflater.from(context); } @Override public int getCount() { //在此适配器中所代表的数据集中的条目数 return listMap.size(); } @Override public Object getItem(int position) { //获取数据集中与指定索引对应的数据项 return position; } @Override public long getItemId(int position) { //获取在列表中与指定索引对应的行id return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder=null; if(convertView==null){ //如果缓存convertView为空,则需要创建View holder=new ViewHolder(); //这句话很关键 convertView=myInflater.inflate(R.layout.list_items, null); holder.img=(ImageView)convertView.findViewById(R.id.img); holder.title=(TextView)convertView.findViewById(R.id.title); holder.info=(TextView)convertView.findViewById(R.id.info); holder.viewBtn=(Button)convertView.findViewById(R.id.view_btn); //将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出Tag convertView.setTag(holder); }else{ holder=(ViewHolder)convertView.getTag(); } Log.i("positon",String.valueOf(position)+"\t"+listMap.get(position).get("title")); holder.img.setBackgroundResource((Integer)listMap.get(position).get("img")); holder.title.setText((String)listMap.get(position).get("title")); holder.info.setText((String)listMap.get(position).get("info")); holder.viewBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showInfo(); } }); return convertView; } } /** * listview中点击按键弹出对话框 */ public void showInfo(){ new AlertDialog.Builder(this).setTitle("我的listview").setMessage("介绍...").setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {} }).show(); } }
最近下载更多
1294862613 LV11
2020年12月29日
bbaqqq LV4
2020年11月20日
mym0207 LV1
2020年7月27日
sylviay LV11
2020年6月10日
Tuan5555 LV12
2020年1月10日
wangshihua LV19
2019年5月10日
金陵小夜白 LV1
2019年1月10日
gggggggg123456 LV3
2018年12月19日
2901545739 LV1
2018年9月13日
7324324234 LV14
2018年7月24日
最近浏览更多
求学的熊猫 LV11
5月6日
微信网友_6533668927885312
2023年6月28日
暂无贡献等级
yyyyyyzh LV8
2023年6月11日
小妹妹 LV7
2023年6月9日
倾城之恋1 LV5
2023年5月21日
qazwer11 LV5
2023年5月18日
xiaoqiaothq LV2
2023年4月2日
362255 LV1
2022年12月28日
yzhszz LV3
2022年12月27日
1532593037 LV8
2022年6月3日