ArrayAdapter列表适配器SimpleAdapter简单的适配器BaseAdapter基础适配器package

ArrayAdapter列表适配器SimpleAdapter简单的适配器BaseAdapter基础适配器package com.example.layou_text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.R.string; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class CopyOfdi1Activity extends Activity { ListView lv_man; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.lv_man);//加载(是布局不是id!) lv_man=(ListView)findViewById(R.id.lv_man);//获取操作 // 注意写法不能写R.layout.获取布局 //准备数据 String [] data={"a","b","c","d","e","f","g","h"}; //构造arrayaadapter适配(上下文,加载另一个布局id,传入数据(数据会被传入布局中)) ArrayAdapteradapter = new ArrayAdapter(CopyOfdi1Activity.this, R.layout.item_array_adapter,data); // 加载textview体系的单个布局 //给lv_man设置适配器 lv_man.setAdapter(adapter); }}xml:(定义一个listview布局)id+lv_man.xml?xml version="1.0" encoding="utf-8"? 再写一个xml(定义listView里面的内容textview)?xml version="1.0" encoding="utf-8"? package com.example.layou_text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.R.string; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class CopyOfdi2Activity extends Activity { ListView lv_man; Listdata; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.lv_man);//加载(是布局不是id!) lv_man=(ListView) findViewById(R.id.lv_man);//获取操作 ArrayList> arrayList = new ArrayList>(); //new了一个Arraylist数组包含map集合 HashMaphashMap = new HashMap(); //new了一个map集合编写key value hashMap=new HashMap(); //简写用上面hashMap的对象再新建一个map集合,赋值,添加到arrayList集合中 hashMap.put("icom", R.drawable.f2); hashMap.put("name","美食--2"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f3); hashMap.put("name","美食--3"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f4); hashMap.put("name","美食--4"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f5); hashMap.put("name","美食--5"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f6); hashMap.put("name","美食--6"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f7); hashMap.put("name","美食--7"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f8); hashMap.put("name","美食--8"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f9); hashMap.put("name","美食--9"); hashMap.put("content","内容"); arrayList.add(hashMap); hashMap=new HashMap(); hashMap.put("icom", R.drawable.f10); hashMap.put("name","美食--10"); hashMap.put("content","内容"); arrayList.add(hashMap); //arrayList集合里面有许多个map集合,map集合中有许多的数据 // Map对象中的key的数组,用于得到对应的value String from[]={"icom","name","content"};//定义from代表map里面的key值 // item布局文件中的子View的id的数组 int [] to ={R.id.imageView1,R.id.tv_item_name,R.id.tv_item_content,}; //定义to代表布局控件 // 准备SimpleA SimpleAdapter simpleAdapter = new SimpleAdapter(this, arrayList, R.layout.activity_chatn, from, to); //加载包含to的控件视图(不是视图id),from是通过key获取了value值, // to是把value赋给了布局中的控件 lv_man.setAdapter(simpleAdapter); // 设置适配器 } }lv_man.xml布局写?xml version="1.0" encoding="utf-8"? 再写一个xml(定义listView里面的内容控件) package com.example.layou_text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.R.string; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class MainActivity extends Activity { ListView lv_man;//列表视图 Listdata;//不用map用了shoinfo类来储存数据集合 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.lv_man);//加载(是布局不是id!) lv_man=(ListView) findViewById(R.id.lv_man);//获取操作 // 准备集合数据 data =new ArrayList(); data.add(new shoinfo(R.drawable.f1,"美食名--1","美食内容--1")); data.add(new shoinfo(R.drawable.f2,"美食名--2","美食内容--2")); data.add(new shoinfo(R.drawable.f3,"美食名--3","美食内容--3")); data.add(new shoinfo(R.drawable.f4,"美食名--4","美食内容--4")); data.add(new shoinfo(R.drawable.f5,"美食名--5","美食内容--5")); data.add(new shoinfo(R.drawable.f6,"美食名--6","美食内容--6")); data.add(new shoinfo(R.drawable.f7,"美食名--7","美食内容--7")); data.add(new shoinfo(R.drawable.f8,"美食名--8","美食内容--8")); data.add(new shoinfo(R.drawable.f9,"美食名--9","美食内容--9")); data.add(new shoinfo(R.drawable.f10,"美食名--10","美食内容--10")); // 准备Baseadapter对象 Myadapter myadapter = new Myadapter(); //设置Adapter显示列表 lv_man.setAdapter(myadapter); } class Myadapter extends BaseAdapter{//定义一个局部内部类继承BaseAdapter //返回集合的总数 @Override public int getCount() { return data.size(); } //返回指定下标对应的数据对象 @Override public Object getItem(int position) { return data.get(position); } //返回每个条目的ID @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } //返回指定下标所对应的Item的View对象(试图和总数) // position下标 // convertView可以复用的缓存Item视图对象, 前n+1个为null // parent listView对象 @Override public View getView(int position, View convertView, ViewGroup parent) { // 1.创建或得到对应当前行的一个Viewholder对象 ViewHolder hole=null; if(convertView==null){ // 加载布局Item的布局,得到View对象 convertView = View.inflate(MainActivity.this, R.layout.activity_chatn, null); hole=new ViewHolder(); // 获取到convertView的子view的控件 hole.findViewById = (ImageView) convertView.findViewById(R.id.imageView1); hole.view = (TextView) convertView.findViewById(R.id.tv_item_name); hole.view1 = (TextView) convertView.findViewById(R.id.tv_item_content); // 将holder对象保存到converterView上 convertView.setTag(hole); }else{ hole=(ViewHolder)convertView.getTag(); } // 根据position设置对应的数据 // 得到当行的数据对象 shoinfo shoinfo = data.get(position); // 得到子View对象 // 给ViewHolder对象的视图设置数据 hole.findViewById.setImageResource(shoinfo.getIncon()); hole.view.setText(shoinfo.getName()); hole.view1.setText(shoinfo.getContent()); return convertView; } //数据类 class ViewHolder{ public ImageView findViewById; public TextView view; public TextView view1; } } }java写一个存放数据类package com.example.layou_text; public class shoinfo { public int incon; public String name; public String content; @Override public String toString() { return "shoinfo [incon=" + incon + ", name=" + name + ", content=" + content + "]"; } public int getIncon() { return incon; } public void setIncon(int incon) { this.incon = incon; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public shoinfo(int incon, String name, String content) { super(); this.incon = incon; this.name = name; this.content = content; } }定义一个listview(id+lv_man) 再写一个xml(定义listView里面的内容控件)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,351评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,424评论 25 707
  • 知识点二 合理保证与有限保证## 1)合理保证与有限保证 鉴证业务的保证程度分为合理保证和有限保证。审计属于合理保...
    刘键阅读 1,944评论 0 0
  • 上面的对话就是今天2016年4月17号的,因为考研的原因平时在图书馆学习使用的都是功能机。在到宿舍打开手机后发现了...
    d9ce68731cdb阅读 378评论 0 0
  • 心蓝老师开班,犹豫再三,没敢报名 看到好多简友的临摹,手痒的厉害 所以…… 果断偷师了,可别涉嫌剽窃什么的
    尔东女阅读 170评论 1 1