android listView-simpleadapter(点击事件)
来源:互联网 发布:ios好玩的网络游戏知乎 编辑:程序博客网 时间:2024/05/20 20:37
在android中ListView是展现数据用到最多的一个组件,也是非常非常重要的一个组件,在android开发当中基本上处处都可以看到,例如,大家常用到的QQ,网页,等等一些客户端基本上就是有listView组成的。在这里我介绍的是simpleadapter来生成listView。这个是用到最多的。因为在做listView,这个可以生成一些复杂的listView组件。
这个和其他的组件有点不同,那就是这个组件,我们一般会写一个模板来做。
首先我们来定义一个模板。
<?xmlversion="1.0"encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<TextView
android:id="@+id/simpleName"
android:textSize="15px"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/simpleSex"
android:textSize="15px"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>
这个模板就是在你的listview中每一行显示的布局。我们用的是表格布局
下面我们定义我们的主页面的布局
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextViewandroid:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="25px"
android:gravity="center_horizontal"
android:text="simpleadapter"/>
<ListViewandroid:id="@+id/simpleAdapterId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
这里你会看到一个listview 这个就是和上面模板布局进行关联的。这个关联我们要在代码中实现
private SimpleAdaptersimpleAdapter=null;
private List<Map<String, String>>list=new ArrayList<Map<String,String>>();
private ListViewlistView=null;
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.mylistviewtwo);
this.listView=(ListView)super.findViewById(R.id.simpleAdapterId);
this.simpleAdapter =new SimpleAdapter(this,this.getData(),
R.layout.data_list,new String[]{"name","sex"},newint[]{
R.id.simpleName, R.id.simpleSex });
this.listView.setAdapter(this.simpleAdapter);
}
private List<Map<String, String>> getData(){
for(int i=0;i<20;i++){
Map<String,String>map=new HashMap<String, String>();
map.put("name","bruce"+i);
map.put("sex","男");
this.list.add(map);
}
returnthis.list;
}
在这里你会看到很多其他的类SimpleAdapter这个就是listview装载数据的一个类。this.simpleAdapter = new SimpleAdapter(this,this.getData(),
R.layout.data_list,new String[]{"name","sex"},newint[]{
R.id.simpleName, R.id.simpleSex });
this.listView.setAdapter(this.simpleAdapter);
}
这个就是它的实现,它会有5个参数,第一个是上下文,第二个是它的数据源
这个数据源我们一般用List<Map<String, String>> 这个格式。第三个就是我们的模板,第4个是我们的List<Map<String, String>>中map的key第五个是我们模板要放数据的位置的id必须是和第4个参数一一对应,这样我们的数据也能相应的放对位置。这个做完,我们就把模板,数据,一一对应的着到的位置,放在了SimpleAdapter中。接下来就是我们要和主布局的listview进行绑定,这样就很简单的。this.listView.setAdapter(this.simpleAdapter);
这样我们的listview就做好了。
在做这个的时候,一定要注意,模板,主页的布局,要不然就显示不出数据了。
下面我说个简单的点击事件。
this.listView.setOnItemClickListener(new OnItemClickListener(){
publicvoid onItemClick(AdapterView<?> adapter, View view,int position,
long id) {
这个里面用到最多的就是position这个就是你选择的是哪个行。在这里面你就可以做表格点击事件进行操作了。
}});
- android listView-simpleadapter(点击事件)
- Android Listview中的simpleadapter类型没有触发item的点击事件的解决办法
- andriod中SimpleAdapter+listview,点击item 传值事件
- simpleAdapter的使用和listview点击事件的简单实现
- SimpleAdapter实现点击事件
- android ListView Item 点击事件
- android ListView 点击事件失效
- Android ListView(三) 点击事件
- Android listview模拟点击事件
- android:listview SimpleAdapter
- Android--ListView和SimpleAdapter
- Android ListView使用SimpleAdapter
- SimpleAdapter响应item点击事件
- 使用SimpleAdapter创建ListView,加入了点击事件,并传值
- Android ListView/ListActivity点击长按事件
- Android listView 中响应Button点击事件
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- DELPHI读取网页源文件和获取字符串
- struts2执行流程及环境搭建
- hdu 2546 0-1背包问题
- JSON 对象的解析方式
- 解决Unity3D中文乱码问题
- android listView-simpleadapter(点击事件)
- @Result的type解
- oracle 查看存储过程,触发器,函数源码
- C语言enum 结构 联合类型的使用
- poj-2255-Tree Recovery
- Git命令汇总和GitHub使用方法
- mac生活
- 富春山居图
- URAL 1935 Tears of Drowned 解题报告