Android 列表使用(ListView GridView Gallery图片计时滚动)
ListView
作用: 1.将数据填充到布局。 2.处理用户的选择点击等操作。
根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
public class ActivityListView extends Activity {
private ListView mListView;
protected void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载listview控件所在的布局文件
setContentView(R.layout.listview_layout);
//获取listview控件的对象
mListView = (ListView)findViewById(R.id.listview);
/**
*定义SimpleAdapter(并加载对应item布局文件,获得对应的keY,获得对应item布局文件中的组件的id
*第二个参数data:数据源第三个参数resource:listView每个item对应的布局文件第四个参数 from:
*第五个参数to: new String[]{对应的key}v
*/
SimpleAdapter simpleAdapter =new SimpleAdapter(this, get_data(),
R.layout.item_listview,new String[]{"name","img" },
newint[] { R.id.txtname, R.id.img });
//通过setAdapter将适配器绑定到listView控件
mListView.setAdapter(simpleAdapter);
};
/**
*数据源
*/
String[] name = { "张三","李四","小星星","静静","明明","小翠" };
private ArrayList<Map<String, Object>> get_data() {
//定义一个ArrayList的集合(集合中又封装一个map类型的集合)
ArrayList<Map<String, Object>> data_list =new ArrayList<Map<String,Object>>();
for (int i = 0; i<name.length; i++) {
// key,valueintstring map不能new map
Map<String, Object> data_map =new HashMap<String, Object>();
data_map.put("name",name[i]);
data_map.put("img",R.drawable.a1);
//将map集合添加(封装)到ArrayList集合中
data_list.add(data_map);
}
//返回ArrayList集合
return data_list;
}
}
Gallery
作用:实现图片计时滚动显示
public class ActivityGrelly extends Activity {
/** Called when the activity isfirst created. */
private int index;
private Gallery g;
private Handler handler;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery_layout);
initView();
}
private void initView() {
// TODOAuto-generated method stub
// 获得Gallery对象
g = (Gallery)findViewById(R.id.gallery);
// 添加ImageAdapter给Gallery对象
g.setAdapter(newImageAdapter(this));
// 设置Gallery的背景
g.setBackgroundResource(R.drawable.bg);
TimerTask task = new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 2;
index = g.getSelectedItemPosition();
index++;
handler.sendMessage(message);
}
};
Timer timer = new Timer();
timer.schedule(task, 3000, 3000);
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 2:
g.setSelection(index);
break;
default:
break;
}
}
};
// 设置Gallery的事件监听
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position,long id) {
Toast.makeText(ActivityGrelly.this,
"你选择了" + (position + 1) +"号图片", Toast.LENGTH_SHORT)
.show();
}
});
}
}
效果:
Android 列表使用(ListView GridView Gallery图片计时滚动)的更多相关文章
- Android列表视图ListView和ListActivity-android学习之旅(二十四)
ListView简介 ListView是android中常用的一种控件,创建ListView有两种方式: 1.在xml中使用ListView控件创建. 2.使用activity继承ListActivi ...
- Android——列表视图(ListView)
列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...
- Android——列表视图 ListView(一)Arrayadapter
一.ArrayAdapter 只显示文字 activitylistview_layout.xml <?xml version="1.0" encoding="utf ...
- 【转载】 Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
Android下拉刷新pullToRefreshListViewGridView 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/3 ...
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git ...
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解 (转载)
最近项目用到下拉刷新,上来加载更多,这里对PullToRefresh这控件进行了解和使用. 以下内容转载自:http://blog.csdn.net/lmj623565791/article/deta ...
- 【转】Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
最近项目用到下拉刷新,上来加载更多,这里对PullToRefresh这控件进行了解和使用. 以下内容转载自:http://blog.csdn.net/lmj623565791/article/deta ...
- Android——列表视图 ListView(二)SimpleAdapter
SimpleAdapter:可显示文字加图片 activity_activitysimple.xml <?xml version="1.0" encoding="u ...
- android 列表开发 ListView
1.android 端 二个entity consultInfo: private String name; private String id; consultInfoRef private iLi ...
随机推荐
- RocketMQ 2主2从 集群搭建
安装环境 jdk1.7 alibaba-rocketmq-3.2.6.tar.gz VM虚拟机redhat6.5-x64:192.168.1.201 192.168.1.202 192.168.1. ...
- 使用Jmeter测试Dubbo接口(参数设置篇)
WebSocket接口需要下载dubbo插件才能使用 本次下载的版本为jmeter-plugins-dubbo-1.3.6,下载完成后jar文件放到\lib\ext目录下 由于工作需要,最近需要对du ...
- Python: Flask框架简单介绍
接触Python之后我第一次听说Flask,我就根据自己搜罗的知识尽可能简洁的说出来.如果不准确的地方还请指正,谢谢. Flask是什么? Flask是基于Python编写的微 ...
- Python: Pycharm简单介绍
1. Pycharm是什么? ...
- linux 图形界面的安装
本文内容主要摘自:http://blog.csdn.net/hotday_kevin/article/details/8310054 文中图形的安装和卸载都给了两种方式,貌似是因为都是版本的问题而不同 ...
- linux基础命令---chattr
chattr 改变文件的属性,这个命令只有超级用户才能使用.这个指令适用于ext2.ext3.ext4.xfs.ubifs.reiserfs.jfs系统. 此命令的适用范围:RedHat.RHEL.U ...
- 远程登录 dos命令
1.桌面连接命令 mstsc /v: 192.168.1.250 /console 2.若需要远程启动所有Internet服务,可以使用iisreset命令来实现. 进入“命令提示符”窗口.在提示符后 ...
- LWIP使用经验---变态级(转)
源:LWIP使用经验---变态级 LWIP使用经验 一 LWIP内存管理 数据包管理 设置内存大小 宏编译开关 二 LWIP启动时序 三 LWIP运行逻辑 接收数据包 SequentialAPI函数调 ...
- Python Web学习笔记之GIL机制下的鸡肋多线程
为什么有人会说 Python 多线程是鸡肋?知乎上有人提出这样一个问题,在我们常识中,多进程.多线程都是通过并发的方式充分利用硬件资源提高程序的运行效率,怎么在 Python 中反而成了鸡肋? 有同学 ...
- maven nexus deploy方式以及相关注意事项(增加eclipse执行maven deploy)
以前公司都是配管负责管理jar的,现在没有专职配管了,得自己部署到deploy上供使用.总的来说,jar部署到nexus上有两种方式: 1.直接登录nexus控制台进行上传,如下: 但是,某些仓库可能 ...