- 浏览: 579758 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
hxlniada:
[color=darkred][/color][size=sm ...
利用Handler来更新android的UI -
jack_ye:
...
检测Android中触摸屏手势的动作与坐标 -
z278013421:
Android Services使用示例 -
东方vs不败:
写的不错,挺好的
利用Handler来更新android的UI -
liangxping:
就是双缓存机制而已。
Android中SurfaceView的使用示例
ListView是比较常用的控件,但一直都觉得创建ListView步骤有点繁琐,故在此总结一下,方便查阅。
程序效果是实现一个ListView,ListView里面有标题,内容和图片,并加入点击和长按响应。
首先在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:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ListView01" /> </LinearLayout>
定义ListView每个条目的Layout,用RelativeLayout实现:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:paddingBottom="4dip" android:paddingLeft="12dip" android:paddingRight="12dip"> <ImageView android:paddingTop="12dip" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ItemImage" /> <TextView android:text="TextView01" android:layout_height="wrap_content" android:textSize="20dip" android:layout_width="fill_parent" android:id="@+id/ItemTitle" /> <TextView android:text="TextView02" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_below="@+id/ItemTitle" android:id="@+id/ItemText" /> </RelativeLayout>
最后在Activity里面调用和加入Listener,具体见注释:
package com.ray.test; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnCreateContextMenuListener; import android.widget.AdapterView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.AdapterView.OnItemClickListener; public class TestListView extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //绑定Layout里面的ListView ListView list = (ListView) findViewById(R.id.ListView01); //生成动态数组,加入数据 ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<10;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.checked);//图像资源的ID map.put("ItemTitle", "Level "+i); map.put("ItemText", "Finished in 1 Min 54 Secs, 70 Moves! "); listItem.add(map); } //生成适配器的Item和动态数组对应的元素 SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//数据源 R.layout.list_items,//ListItem的XML实现 //动态数组与ImageItem对应的子项 new String[] {"ItemImage","ItemTitle", "ItemText"}, //ImageItem的XML文件里面的一个ImageView,两个TextView ID new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText} ); //添加并且显示 list.setAdapter(listItemAdapter); //添加点击 list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { setTitle("点击第"+arg2+"个项目"); } }); //添加长按点击 list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { menu.setHeaderTitle("长按菜单-ContextMenu"); menu.add(0, 0, 0, "弹出长按菜单0"); menu.add(0, 1, 0, "弹出长按菜单1"); } }); } //长按菜单响应函数 @Override public boolean onContextItemSelected(MenuItem item) { setTitle("点击了长按菜单里面的第"+item.getItemId()+"个项目"); return super.onContextItemSelected(item); } }
- TestListView02.rar (40.1 KB)
- 下载次数: 11899
评论
27 楼
zq2002527
2010-11-30
yuanyao 写道
raymondlueng 写道
fanth 写道
楼主,有考虑过ListView的单击和双击吗?
单击有考虑过,双击就没有,我所知只有单击和长按动作的哦!
双击动作,重来没考虑到.
有长按就行了
26 楼
anan221
2010-11-24
我是用listview展开收缩的效果,但是点击第1行的时候,后面第7行也展开,当前手机窗口只显示6条,其他几条要滑动才能显示?这个是什么原因呢?
25 楼
myfriday9
2010-07-27
allenmoom 写道
wjb_forward 写道
从这个例子可以看出。要在ListView里显示图片。根本不需要自定义Adapter
如果显示的图片不能是资源文件里的图片的时候该怎么办
将Drawable的对象put到map里,就不行
我也用Drawble试过,一直不成功,后来发现其实相当简单
只需要写成这样
map.put("ItemImage", "/sdcard/img/xxxx.png");//图像的路径
24 楼
zyl小星星
2010-07-05
不错,效果看起来很漂亮!
23 楼
allenmoom
2010-06-11
wjb_forward 写道
从这个例子可以看出。要在ListView里显示图片。根本不需要自定义Adapter
如果显示的图片不能是资源文件里的图片的时候该怎么办
将Drawable的对象put到map里,就不行
22 楼
wjb_forward
2010-05-31
从这个例子可以看出。要在ListView里显示图片。根本不需要自定义Adapter
21 楼
fishkey
2010-05-27
android刚入门.刚好用到.非常感谢
20 楼
gryphone
2010-05-21
javetu_7 写道
我在考虑,能不能再对话框里使用ListView?
不建议在Dialog里面使用ListView 因为后者显示特性 会导致该Dialog的layout_height会显示所有数据项 而很难看 故推荐用Spinner代替 会美观些[个人看法]
19 楼
gryphone
2010-05-21
ostrichmyself 写道
有没有折叠的控件? 比如点击一个+号,然后将展开一个控件? 改控件里面可能有EidtText, Button 等等...
ExpandlableListView
18 楼
ostrichmyself
2010-05-17
有没有折叠的控件? 比如点击一个+号,然后将展开一个控件? 改控件里面可能有EidtText, Button 等等...
17 楼
lifei219317
2010-05-15
javetu_7 写道
我在考虑,能不能再对话框里使用ListView?
可以在activity中加ListView,然后将activity的theme改为对话框的。
16 楼
javetu_7
2010-05-15
我在考虑,能不能再对话框里使用ListView?
15 楼
phenom
2010-04-07
应该添加一些东西.比如我在ListView上面加一个TextView你这样加上去就看不到ListView了.
因为LinearLayout是单独显示行或列的.设置android:orientation="vertical"垂直才可以.
因为LinearLayout是单独显示行或列的.设置android:orientation="vertical"垂直才可以.
14 楼
wjb_forward
2010-04-07
这样显示图片也行啊? 以前居然傻到去自己定义Adapter来显示图片,学习了
13 楼
wjb_forward
2010-04-07
我现在的水平也只看得懂这个,哎,谢谢啦
12 楼
loovle
2010-04-02
那listview中如何显示嵌入个webview来显示网页内容之后,itemclick事件没有响应,有人遇到过么?
11 楼
sunburst
2010-01-28
eleda 写道
入门文章,不错!
ListView的数据通常是来自与Internet
而进行联网时为了不影响用户体验,还需要增加一个activity indicator
最好是能有一个Internet aware的adapter,自动加载数据并显示。
再加上delegate的方式,显示activity indicator。
ListView的数据通常是来自与Internet
而进行联网时为了不影响用户体验,还需要增加一个activity indicator
最好是能有一个Internet aware的adapter,自动加载数据并显示。
再加上delegate的方式,显示activity indicator。
关注这种例子的实现
10 楼
小天狼星
2010-01-05
yuanyao 写道
raymondlueng 写道
fanth 写道
楼主,有考虑过ListView的单击和双击吗?
单击有考虑过,双击就没有,我所知只有单击和长按动作的哦!
双击动作,重来没考虑到.
恩,好像没有双击事件吧,怎么每次回帖都需要小测验哦??
9 楼
yuanyao
2010-01-05
raymondlueng 写道
fanth 写道
楼主,有考虑过ListView的单击和双击吗?
单击有考虑过,双击就没有,我所知只有单击和长按动作的哦!
双击动作,重来没考虑到.
8 楼
raymondlueng
2010-01-04
fanth 写道
楼主,有考虑过ListView的单击和双击吗?
单击有考虑过,双击就没有,我所知只有单击和长按动作的哦!
发表评论
-
类似Chome的翻转效果
2012-09-18 23:14 2412简单的demo,屏幕上下滑动翻转View,类似Android ... -
3D编程基础数学之旋转及在Android中的应用
2012-02-10 00:11 0最近因为兴趣,看了一些3D编程的书,有种感觉就是写这些书的作者 ... -
Android中屏幕Density对BitmapDrawable的影响
2011-07-08 21:44 7904很早之前写的文章了,发在这里记录一下。 在之前的 ... -
Android程序与Javascript的交换
2010-04-16 21:40 0hello! -
Android Services使用示例
2010-01-12 16:50 14142Android开发中,当需要创建在后台运行的程序的时候,就要 ... -
Android游戏开发之服务器端
2010-01-09 16:38 6719首先我不知道这篇文章发到Android开发板块是否适合的,因为 ... -
Android View添加 Listener 小技巧示例
2009-12-02 15:35 9871在开发中为控件添加Listener是非常常见的工作,最简单的添 ... -
Android Gesture 手势识别使用实例
2009-10-20 11:56 10215很高兴能在Android1.6的sdk看到手势识别这一 ... -
Android第二个游戏 DragonFeed(勇者喂恶龙)
2009-10-12 17:57 8117这是参加学校一个小比赛的参赛游戏,之前一直在忙 认证考试和项目 ... -
Android 震动示例--心跳效果
2009-10-02 23:58 7717正在开发第二个游戏,计时就要结束的时候,为了营造紧张的气氛, ... -
Android adb的使用略解
2009-09-30 16:08 40288安卓网的一个帖子,写得不错,记下来 ADB全称Android ... -
Android游戏开发之连连看算法
2009-09-29 00:36 10479因为有朋友在站内信中问到连连看的具体算法,所以我就把算法pos ... -
android游戏开发之选关画面
2009-09-21 15:44 4055在游戏开发中,往往要提供选关的页面,选择关卡可以简单地使用li ... -
Android重力感应Demo
2009-09-11 23:33 14080android中的很多游戏的游戏都使用了重力感应的技术,但其a ... -
Android游戏开发之爆炸效果
2009-09-02 00:29 18550在做Android游戏MagicBubble开发的时候 ... -
Android 的第一个游戏
2009-08-18 08:48 8019学了android1个多月,做了一款连连看游戏,上了andro ... -
Android canvas的save()和restore()用法
2009-08-05 12:21 19928在读Android SDK里面的samples里面游戏的时候, ... -
Android 2d物理引擎Box2d的使用示例
2009-08-04 09:06 14298Box2d是一个很出名的2d物理引擎,大家可以google之。 ... -
利用Handler更新Android UI的另一种方法
2009-07-29 11:28 11922文字程序很简单,一个View,一个Activity,利用han ... -
android布局学习利器-Hierarchy Viewer
2009-07-27 18:17 8148Hierarchy Viewer 帮你分析应用程序UI布局 ...
相关推荐
在Android开发中,ListView是一种非常重要的视图组件,它用于展示大量的数据列表。适配器(Adapter)在ListView中扮演着桥梁的角色,将数据源与ListView的视图进行绑定,使得数据可以正确地显示在ListView的各个item...
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。当需求涉及列表中的每个条目本身也需要展示一个子列表时,我们就会遇到ListView的嵌套问题。本教程将详细讲解如何在Android Studio环境下...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。而当需要在ListView中实现单选功能时,我们通常会使用RadioButton。本文将深入探讨如何在ListView中集成RadioButton,以及相关的实现...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。`下拉刷新`和`上拉加载`功能的实现,极大地提升了用户体验,让用户能够实时获取到最新的数据。本篇文章将深入探讨如何在ListView中实现这两种...
本文将详细介绍几个Android ListView的常用小技巧,以帮助开发者更好地理解和优化ListView的使用。 首先,我们来看如何为ListView的每一项(Item)设置分隔线。有两种方法: 1. 直接在布局文件中通过`android:...
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,当列表项过多时,滚动时表头(Header)会随着滚动消失,给用户查看和理解数据带来不便。为了解决这个问题,开发者通常会实现一个固定...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。当需要在ListView的每一项中加入复选框(Checkbox)时,这通常涉及到自定义Adapter和处理复选状态的逻辑。以下是对这个主题的详细阐述:...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。然而,当在ListView的每一项中嵌套EditText时,会遇到一些挑战,主要包括EditText的焦点管理问题和数据错位问题。这两个问题在实际应用...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。然而,有时我们可能需要在一个ListView的项中再嵌套另一个ListView,这被称为ListView的嵌套。这样的设计可以用于展示复杂的数据结构,比如...
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。由于数据量可能非常大,一次性加载所有数据可能会导致性能问题,甚至使应用崩溃。因此,实现ListView的分页加载功能变得至关重要。分页加载...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。在“Android listview 逐行显示效果”这个主题中,我们将深入探讨如何在ListView中实现逐行动画显示的效果,特别是在Android 1.6版本及eclipse...
在Android开发中,ListView是一种常用的组件,用于展示大量可滚动的数据。本教程将重点讲解如何在ListView中实现下拉刷新和动态加载数据的功能,同时处理图文混排的问题。 首先,我们要引入SwipeRefreshLayout库,...
在Android开发中,ListView是一种常用的组件,用于展示大量可滚动的数据。它允许用户通过垂直滚动查看多行数据项。在许多应用中,我们可能需要添加一些交互性功能,比如长按删除,以增强用户体验。本篇文章将详细...
在Android开发中,ListView是一种常用的UI控件,用于展示大量数据列表。然而,要实现一个树形结构,即节点有层级关系的数据展示,就需要进行一些定制化的工作。本篇文章将详细探讨如何在不继承`ListActivity`而是...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。要改变ListView选中行的字体颜色和图片,我们需要理解ListView的工作原理,以及如何自定义其Adapter和视图。以下是一些关键知识点的详细...
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。在某些场景下,我们可能需要将数据按照特定的逻辑进行分组,并且允许用户折叠或展开这些分组,以便更好地管理和浏览数据。本篇文章将深入...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。"android listview 拖拽效果"是指在ListView上实现的一项高级功能,允许用户通过手势拖动ListView中的每个条目(item)来改变它们的位置...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。"android listview左划删除"是ListView的一个常见扩展功能,允许用户通过手势左滑列表项来显示一个删除按钮,进而实现快速删除操作。这...
标题中的“android listview仿iphone特效”指的是在Android开发中,使用ListView组件实现类似iOS界面效果的一种技术。这种效果通常包括但不限于平滑滚动、动态高度调整、渐变背景等,目的是提升Android应用的用户...