自定义listview,图文混排效果
public class Personal extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.p_personal);
//绑定Layout里面的ListView
ListView list = (ListView) findViewById(R.id.ListView01);
//生成动态数组,加入数据
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<5;i++)
{
if(i==0){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.checked);//图像资源的ID
map.put("ItemTitle", "个人信息");
map.put("LastImage", R.drawable.lastimage);
listItem.add(map);
}else if(i==1){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.cc);//图像资源的ID
map.put("ItemTitle", "修改密码");
map.put("LastImage", R.drawable.lastimage);
listItem.add(map);
}else if(i==2){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.dd);//图像资源的ID
map.put("ItemTitle", "网络设置");
map.put("LastImage", R.drawable.lastimage);
listItem.add(map);
}else if(i==3){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.dd);//图像资源的ID
map.put("ItemTitle", "打印设置");
map.put("LastImage", R.drawable.lastimage);
listItem.add(map);
}else{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.ee);//图像资源的ID
map.put("ItemTitle", "返回");
map.put("LastImage", R.drawable.lastimage);
listItem.add(map);
}
}
//生成适配器的Item和动态数组对应的元素
SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,// 数据源
R.layout.list_items,//ListItem的XML实现
//动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemTitle", "LastImage"},
//ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.last}
);
//添加并且显示
list.setAdapter(listItemAdapter);
//添加点击
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
setTitle("点击第"+arg2+"个项目");
if(arg2 == 4){
Personal.this.finish();
}
}
});
//添加长按点击
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);
}
}
- 大小: 45.2 KB
分享到:
相关推荐
ListView 图文混排,上拉加载,下拉刷新
老罗07-Handler综合练习(图文混排)源码
android 实现listview动态下拉刷新,动态加载数据 可以避免一次数据加载过多
多线程和异步请求两种方式实现,包含图片缓存和滚动是时优化
这是一个包含异步加载、网络编程、JSON解析、LruCache图片缓存的简易的ListView图文混排Demo.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
开发知乎的第一步,首先熟悉看知乎的API以及Json数据的解析,才能进行下一步。
图文混排 异步加载 Handler listview ,比较常见的图文混排功能,以及异步加载网络图片,listview优化
下载下来直接可以使用 android2.2的包 发送文本和图像的效果和ListView的每次刷新
实现自定义的listView,学习图文混排技术,有助于理清思路
android异步在网络上读取多张图片,显示在页面布局GridView,viewPager,gallery,ListView
比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排的行为第二类布局。单一类型的ListView很简单,下面着重介绍一下ListView包含多种类型视图布局的情形。 2.ListView包含不同Item的布局 ...
本篇文章主要介绍了Android中ListView实现图文并列并且自定义分割线(完善仿微信APP),具有一定的参考价值,有兴趣的可以了解一下。
ListView中含有多个item布局的处理,在类似微信里chat界面的时候,会遇到一个listView中有多个布局存在的状况(普通聊天布局、纯图片布局、图文混排布局等等,提供一些解决方案。
支持文本和图文混排两中数据模版 支持循环显示数据 支持补充项添加附加文本 支持设置滚轮刻度 支持联动功能 支持嵌入滚动控件中( ) 支持滚轮这一 支持滚轮可选项点击事件 截屏 用法 Gradle: compile ' ...
特别是针对listview图文混排 实现方法: >在布局中添加 android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitXY" android:id="@+id/item_img" android:layout_...
以下为视频源码目录: 一、Android入门介绍 视频教程 1.1 android系统介绍 1.2 android系统框架的介绍 1.3 如何搭建android开发环境 1.4 android生命周期的介绍 ...15.7 Handler综合练习(图文混排)
支持文本和图文混排两中数据模版 支持循环显示数据 支持选中项添加附加文本 支持设置滚轮刻度 支持联动功能 支持嵌入滚动控件中(NestedScrollView) 支持滚轮对话框 支持滚轮选中项点击事件 ScreenShot Usage ...
2.这个记事本程序支持图文混排 3.可以从相机、图库调取图片 4.可以将笔记分享为长图 5.长按ListView多选删除 6.必要的提醒:例如按两次退出程序 本程序的技术关键点 1.采用了多线程技术以提升程序的性能:主要在...
10.1 实现分页及解决图文混排的问题 119 10.2 GridView常用属性(使用参考ListView) 124 10.3 ExpandableListView的使用 124 11.1选项菜单XML文件 132 11.2菜单的分类 132 11.3 选项菜单相关方法 133 11.4 JAVA代码...