Android:ListView(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android:ListView(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4835字,纯文字阅读大概需要7分钟。
内容图文
ListView四种适配器:
1、ArrayAdapte
2、SimpleAdapter
3、SimpleCursorAdapter
4、BaseAdapter
下面是基于后面3中适配器实现的,还有一个就是SimpleAdapter的加强版,也就是plus,哈哈。主要是实现带图片功能,第一种适配器比较简单,准备用它实现显示分组。下面是实现功能截图以及代码。
上图实现的核心代码:
public
class
ListView1
extends
Activity {
private ListView listView;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview1);
listView = (ListView) this.findViewById(R.id.listView1);
showSimpleAdapter();
}
privatevoidshowSimpleAdapter() {
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for (int i = 0; i < 4; i++) {
HashMap<String, Object> item = new HashMap<String, Object>();
item.put("name","atm"+i );
item.put("age",10+i );
data.add(item);
}
/**
* Context context 上下文信息
List<? extends Map<String, ?>> data 将该数据显示在界面上
int resource 数据需要显示的地方
String[] from 从什么地方
int[] to 显示到什么地方
*/
SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item,new String[]{"name", "age"}, newint[]{R.id.text1,R.id.text2});
listView.setAdapter(adapter);
}
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}
}
上图实现的核心代码:
public
class
ListView2
extends
Activity {
private ListView listView;
private ServiceTest serviceTest;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview1);
listView = (ListView) this.findViewById(R.id.listView1);
serviceTest=new ServiceTest(getApplicationContext());
showSimpleCursorAdapter();
}
privatevoidshowSimpleCursorAdapter() {
Cursor cursor =serviceTest.Find_cursor();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item, cursor,
new String[]{"name", "age"}, newint[]{R.id.text1, R.id.text2});
listView.setAdapter(adapter);
}
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}
}
上图实现的核心代码:
public
class
ListView3
extends
Activity {
private ListView listView;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview2);
listView = (ListView) this.findViewById(R.id.listView2);
showSimpleAdapter();
}
privatevoidshowSimpleAdapter() {
SimpleAdapter adapter = new SimpleAdapter(
this, getData(), R.layout.item_plus,new String[]{"name", "age", "img"}, newint[]{R.id.name,R.id.age,R.id.img});
listView.setAdapter(adapter);
}
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}
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("name", "atm1");
map.put("age", 1);
map.put("img", R.drawable.img2);
list.add(map);
map = new HashMap<String, Object>();
map.put("name", "atm2");
map.put("age", 2);
map.put("img", R.drawable.love);
list.add(map);
map = new HashMap<String, Object>();
map.put("name", "atm3");
map.put("age", 3);
map.put("img", R.drawable.img1);
list.add(map);
return list;
}
}
上图实现的核心代码:
public
class
ListView4
extends
Activity {
private ListView listView;
private ServiceTest serviceTest;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview1);
listView = (ListView) this.findViewById(R.id.listView1);
serviceTest=new ServiceTest(this);
listView.setOnItemClickListener(new ItemClickListener());
showMyAdapter();
}
//点击后,获取给View上的数据privatefinalclassItemClickListenerimplementsOnItemClickListener{publicvoidonItemClick(AdapterView<?> parent, View view, int position, long id) {
ListView listview = (ListView)parent;
UserInfo userinfo = (UserInfo) listview.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), userinfo.getUser_id()+" "+userinfo.getUser_name(), 1).show();
}
}
privatevoidshowMyAdapter() {
// TODO Auto-generated method stub
List<UserInfo> list=serviceTest.Findall();
MyAdapter myAdapter=new MyAdapter(this, list, R.layout.item);
listView.setAdapter(myAdapter);
}
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}
}
代码下载请点击:代码下载
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/qq_17326933/article/details/48015251
内容总结
以上是互联网集市为您收集整理的Android:ListView(一)全部内容,希望文章能够帮你解决Android:ListView(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。