- 浏览: 576523 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 2348简单的demo,屏幕上下滑动翻转View,类似Android ... -
3D编程基础数学之旋转及在Android中的应用
2012-02-10 00:11 0最近因为兴趣,看了一些3D编程的书,有种感觉就是写这些书的作者 ... -
Android中屏幕Density对BitmapDrawable的影响
2011-07-08 21:44 7847很早之前写的文章了,发在这里记录一下。 在之前的 ... -
Android程序与Javascript的交换
2010-04-16 21:40 0hello! -
Android Services使用示例
2010-01-12 16:50 14050Android开发中,当需要创建在后台运行的程序的时候,就要 ... -
Android游戏开发之服务器端
2010-01-09 16:38 6674首先我不知道这篇文章发到Android开发板块是否适合的,因为 ... -
Android View添加 Listener 小技巧示例
2009-12-02 15:35 9793在开发中为控件添加Listener是非常常见的工作,最简单的添 ... -
Android Gesture 手势识别使用实例
2009-10-20 11:56 10157很高兴能在Android1.6的sdk看到手势识别这一 ... -
Android第二个游戏 DragonFeed(勇者喂恶龙)
2009-10-12 17:57 7973这是参加学校一个小比赛的参赛游戏,之前一直在忙 认证考试和项目 ... -
Android 震动示例--心跳效果
2009-10-02 23:58 7678正在开发第二个游戏,计时就要结束的时候,为了营造紧张的气氛, ... -
Android adb的使用略解
2009-09-30 16:08 40225安卓网的一个帖子,写得不错,记下来 ADB全称Android ... -
Android游戏开发之连连看算法
2009-09-29 00:36 10356因为有朋友在站内信中问到连连看的具体算法,所以我就把算法pos ... -
android游戏开发之选关画面
2009-09-21 15:44 3980在游戏开发中,往往要提供选关的页面,选择关卡可以简单地使用li ... -
Android重力感应Demo
2009-09-11 23:33 13995android中的很多游戏的游戏都使用了重力感应的技术,但其a ... -
Android游戏开发之爆炸效果
2009-09-02 00:29 18366在做Android游戏MagicBubble开发的时候 ... -
Android 的第一个游戏
2009-08-18 08:48 7883学了android1个多月,做了一款连连看游戏,上了andro ... -
Android canvas的save()和restore()用法
2009-08-05 12:21 19836在读Android SDK里面的samples里面游戏的时候, ... -
Android 2d物理引擎Box2d的使用示例
2009-08-04 09:06 14205Box2d是一个很出名的2d物理引擎,大家可以google之。 ... -
利用Handler更新Android UI的另一种方法
2009-07-29 11:28 11850文字程序很简单,一个View,一个Activity,利用han ... -
android布局学习利器-Hierarchy Viewer
2009-07-27 18:17 8073Hierarchy Viewer 帮你分析应用程序UI布局 ...
相关推荐
详细介绍了ListView比较常用的三种适配器的用法,基于代码一步一步完成,自己学习后的一点总结
本文实例讲述了Android控件之ListView用法。分享给大家供大家参考。具体如下: 示例一: 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。 main.xml布局...
android 常用控件如:ProgressBar、ActionBar、Switch、ListView 、PopupWindow....等的用法,各种Style的写法以及自定义常用控件 android 五大布局的汇总及用法
ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。 一个ListView通常有两个职责。 (1)将数据填充到布局。 (2)处理用户的选择点击等操作。 第一点很好理解,ListView就是实现...
1 LISTVIEW 加载不同的布局,常用事件的用法 2.Listview 优化 ,重用 , 3.已经测试成功,欢迎使用
Android 程序技术 ...BaseAdapter即基本的适配器,使用BaseAdapter时需要实现四个方法。 public abstract int getCount() //得到Item条目的总数 public abstract Object getItem(int position) //根据posi
ListView绝对可以称得上是Android中最常用的控件之一,几乎所有的应用程序都会用 到它。由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程 序中有大量的数据需要展示的时候,就可以借助...
Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法: 首先我们给出一个没有任何优化的Listview的Adapter类,我们这里都继承自BaseAdapter,...
在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。 ?? ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要...
在做Android手机应用开发时, ListView是一个非常常用的控件。如何更新的使用它呢?其实SDK中的例子已经非常的完整了,并且能满足大多数的需要。 如果大家刚开始学习ListView,我建议大家还是直接先看官方的例子好...
主要介绍了深入浅出的带领大家学习Android ListView基础,ListView是安卓里常用的控件,本文介绍一下常用用法,以及优化等方法,感兴趣的小伙伴们可以参考一下
android中ListView是一个比较常用的控件,它用于方便的列表显示可见数据,当数据过多时,会出现滚动条,并且可以根据屏幕长度进行自适应显示。 1. 为什么使用BaseAdapter? ListView需要设置数据适配,就是添加你...
1. ListView的简单用法 首先新建一个ListViewTest项目,然后修改activity_main.xml代码. <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_height=match_parent android:...
ListView控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adapter的用法,加了很多的判断等等等等….我们先来看看实现的效果吧! 好的,我们新建一个项目LvCheckBox ...
ListView基本介绍,开发过程中常用的属性、方法及使用过程中需要注意的问题.Universal ImageView Loader的简单介绍和使用。
ListView与GridView是Android开发中的常用控件,它们和Adapter配合使用能够实现很多界面效果。下面分别以实例说明ListView、GridView的用法。 1.ListView的Android开发实例 ListView 是android开发中最常用的...
我个人在工作中常用的代码,自己边用...13.android模拟器设置为WVGA800时窗口只占半屏解决方法 14.获取设备屏幕尺寸 15.计算状态栏的高度 16.listView 焦点陷阱 17. 调用第三方程序 18. android listview 异步加载图片
使用方法:1-把GifView.jar加入你的项目。2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。 如: <com.ant.liao.GifView android:id="@+id/gif2" android:layout_...
PropertyValuesHolder->相对于直接使用ObjectAnimator方法资源更优化 AnimatorSet->可以按指定的顺序执行动画,而不是同时执行(Animator不可重用) ValueAnimator->可以完全自定义自己的动画 FloatMenu 说明:...