ListView总结
来源:互联网 发布:环保监测数据 编辑:程序博客网 时间:2024/05/24 02:15
ListView总结
列表分为三种:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
ArrayAdapter最为简单,只能展示一行字。
SimpleAdapter有最好的扩充性,可以自定义出各种效果。可以放上ImageView(图片),还可以放上
Button(按钮),CheckBox(复选框)等等。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以
列表的形式展示出来。
1.ArrayAdapter
1.1ArrayAdapter实现步骤
a)创建ArrayAdapter
b)调用setAdapter设置adapter
c)调用setContentView显示
1.2ArrayAdapter实现代码
publicclassListViewActivityextendsActivity {
/**Called when the activity is first created. */
privateListViewlistView;
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[]strs={"JAVA","C","C++"};
listView=newListView(this);
listView.setAdapter(newArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1,strs));
setContentView(listView);
}
}
1.3ArrayAdapter实现效果
2.SimpleCursorAdapter
2.1SimpleCursorAdapter实现步骤
a)调用getContentResolver().Query获得Cursor对象
b)创建SimpleCursorAdapter对象
c)调用setAdapter设置adapter
d)调用setContentView显示
2.2SimpleCursorAdapter实现代码
publicclassListViewActivityextendsActivity {
/**Called when the activity is first created. */
privateListViewlistView;
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView=newListView(this);
Cursorcursor = getContentResolver().query(
People.CONTENT_URI,null,null,null,null);
startManagingCursor(cursor);
ListAdapterlistAdapter=newSimpleCursorAdapter(this,
android.R.layout.simple_expandable_list_item_1,
cursor,
newString[]{People.NAME},
newint[]{android.R.id.text1});
listView.setAdapter(listAdapter);
setContentView(listView);
}
}
PS:
需要在AndroidManifest.xml中设置权限
<uses-permissionandroid:name="android.permission.READ_CONTACTS"></uses-permission>
并且需要在电话本中添加联系人。
2.3SimpleCursorAdapter实现效果
3.SimpleAdapter
3.1SimpleAdapter实现步骤
a)定义一个用来显示每一个行内容的xml
b)创建simpleAdapter
c)实现getData()方法
ps:使用simpleAdapter的数据用一般都是HashMap构成的List,list的每一节对应ListView的每一行。
3.2SimpleAdapter实现代码
vlist.xml代码
<?xmlversion="1.0"encoding="UTF-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageViewandroid:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5px"/>
<LinearLayoutandroid:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextViewandroid:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="22px"/>
<TextViewandroid:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="13px"/>
</LinearLayout>
</LinearLayout>
ListViewActivity.java代码
publicclassListViewActivityextendsListActivity {
/**Called when the activity is first created. */
privateListViewlistView;
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SimpleAdapteradapter=newSimpleAdapter(this,getData(),
R.layout.vlist,
newString[]{"title","info","img"},
newint[]{R.id.title,R.id.info,R.id.img});
setListAdapter(adapter);
}
privateList<Map<String, Object>> getData() {
//TODOAuto-generated method stub
List<Map<String,Object>>list=new
ArrayList<Map<String,Object>>();
Map<String,Object> map=newHashMap<String,Object>();
map.put("title","G1");
map.put("info","google 1");
map.put("img",R.drawable.i1);
list.add(map);
map=newHashMap<String,Object>();
map.put("title","G2");
map.put("info","google 2");
map.put("img",R.drawable.i2);
list.add(map);
map=newHashMap<String,Object>();
map.put("title","G3");
map.put("info","google 3");
map.put("img",R.drawable.i3);
list.add(map);
returnlist;
}
3.3SimpleAdapter实现效果
- ListView总结
- ListView总结
- ListView总结
- ListView总结
- ListView总结
- ListView总结
- ListView总结
- ListView总结
- ListView总结
- Listview总结
- ListView使用总结1
- ListView使用总结2
- listview和ContextMenu总结
- ListView的简单总结
- ListView样式实现总结
- Listview Adapter 优化总结
- android Listview总结
- android-ListView总结
- VS2010快捷键及设置
- java中tree的种类
- 稀奇古怪的SEO手法、网络推广办法汇总-不断更新……
- iOS菜鸟学习——storyboard中自定义cell
- java的Hashtable
- ListView总结
- 内容复制加入版权信息
- java基础
- JAVA写文件
- 判断手机号码,电话号码函数
- D3DPRESENT_PARAMETERS参数
- 贴一份宏定义 防止丢失
- C++语言复习八 结构体指针(指向类的指针)的两种引用方式。
- 关于PHP你可能不知道的-PHP的事件驱动化设计