ListActivity 之 ListView 研究
来源:互联网 发布:郭天祥十天单片机下载 编辑:程序博客网 时间:2024/06/08 07:02
ListActivity。这个类其实就是一个含有一个ListView组件的Activity类。显示一个绑定到数组或游标这些数据源的一个列表,并且列表的每一项提供一个点击事件的管理方法,当用户点击其中的列表项的时候就能进行相应的处理。也就是说,如果我们直接在一个普通的Activity中自己加一个ListView也是完全可以取代这个ListActivity的,只是它更方便而已。
ListActivity容纳了一个ListView对象,这个对象能够被绑定到不同的数据源,一般是一个数组或者存储了一组查询结果的游标。
屏幕布局
ListActivity的默认布局由一个位于屏幕中心的全屏列表构成。但是,如果你不想使用默认的布局,可以在onCreate()方法中通过setContentView()方法设定你自己定制的布局。
如果指定你自己定制的布局,你的布局中必须包含一个id为"@android:id/list"(如果是使用代码的形式,则是 list)的ListView 。此外,你自定义的view为空时,能够包含另外一个任何类型的view对象。
最近遇到问题:
在 activity_main XML 文件中定义了一个LIstview
<?xml version="1.0" encoding="utf-8"?><LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout> Java文件:public class MainActivity extends ListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); initList();}protected void initList () {//ListView list =(ListView)findViewById(R.id.list);}}
如果主类继承自 ListActivity ,因为ListActivity内部默认含有ListView,extends ListActivity,那么其实本身是不用setContentView,Android也会自动帮我们构造出一个全屏的列表。而该ListView没有xml来描述界面,所以必须在xml中定义一个id = "@id/android:list" 的listview控件,否则会报:you content must have a listview whose id....。直接用setListAdapter(adapter)设置datasource,绑定数据源 。
如果想用自定义ListView,那主类要继承自Activity,这个时候布局xml中listview的id可以随意定义,并且用ListView list =(ListView)findViewById(R.id.list) 取得这个list,list.setAdapter(adapter) 设置datasource,绑定数据源。
根据这两天尝试,ListActivity 和setContentView 共存,数据无法显示---这个问题已经解决了,竟然是在main.xml中没有设置 android:orientation="vertical" 排列方式导致的。没有设置这个,竟然会导致这个问题,无语。
以及用ListActivity 和 自定义list.setAdapter(adapter) 不共存----这个问题研究了一下:(1)ListView list = this.getListView(); list.setAdapter(adapter); 这样写程序没有问题。但是用ListView list =new ListView(this),必须用setListAdapter(adapter) 才行,这样不会有问题。具体为什么这样,求大神讲解!!
- ListActivity 之 ListView 研究
- android 之 ListActivity & ListView
- ListView 之 ListActivity 2
- 安卓开发之基于ListActivity的LIstView的用法
- Android UI:ListActivity & ListView
- ListActivity和ListView
- Android UI: Listview & ListActivity
- 继承ListActivity实现ListView
- ListView和ListActivity
- ListActivity中的ListView设置
- Android之 ListActivity 的使用和在 ListView中添加图片文字(ListActivity与Activity的区别)
- ListView使用详解,listActivity使用方法
- Android ListView and ListActivity Tutorial
- Android ListView and ListActivity - Tutorial
- ListActivity 中 ListView 的使用
- ListActivity中listview的获取
- 通过ListActivity创建一个ListView
- 列表视图ListView和ListActivity
- SQLServer2008R2导出包含数据的SQL脚本文件
- iOS 应用程序内切换语言 中英文切换
- Linux命令 dd
- Java Tomcat SSL 服务端/客户端双向认证
- DM811X开发板研究
- ListActivity 之 ListView 研究
- Linux小宝典之理解Chroot模式
- chrome调试动态加载的JS
- Cstring转char、string、int等数据类型的方法
- 揭开Linux的Swap之谜
- linux更改文件夹权限,更改文件所有者
- ios7版 30天精通iPhone手机编程 第1天 ios7开发基础知识点
- Java内存泄露
- 小波变换和motion信号处理(一)