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图片计时滚动)的更多相关文章

  1. Android列表视图ListView和ListActivity-android学习之旅(二十四)

    ListView简介 ListView是android中常用的一种控件,创建ListView有两种方式: 1.在xml中使用ListView控件创建. 2.使用activity继承ListActivi ...

  2. Android——列表视图(ListView)

    列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...

  3. Android——列表视图 ListView(一)Arrayadapter

    一.ArrayAdapter 只显示文字 activitylistview_layout.xml <?xml version="1.0" encoding="utf ...

  4. 【转载】 Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    Android下拉刷新pullToRefreshListViewGridView 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/3 ...

  5. Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git ...

  6. Android PullToRefresh (ListView GridView 下拉刷新) 使用详解 (转载)

    最近项目用到下拉刷新,上来加载更多,这里对PullToRefresh这控件进行了解和使用. 以下内容转载自:http://blog.csdn.net/lmj623565791/article/deta ...

  7. 【转】Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    最近项目用到下拉刷新,上来加载更多,这里对PullToRefresh这控件进行了解和使用. 以下内容转载自:http://blog.csdn.net/lmj623565791/article/deta ...

  8. Android——列表视图 ListView(二)SimpleAdapter

    SimpleAdapter:可显示文字加图片 activity_activitysimple.xml <?xml version="1.0" encoding="u ...

  9. android 列表开发 ListView

    1.android 端 二个entity consultInfo: private String name; private String id; consultInfoRef private iLi ...

随机推荐

  1. python sys.stdin、sys.stdout和sys.stderr

    学习并转载自  https://www.cnblogs.com/guyuyuan/p/6885448.html 标准输入:一般是键盘.stdin对象为解释器提供输入字符流,一般使用raw_input( ...

  2. python之路----hashlib模块

    在平时生活中,有很多情况下,你在不知不觉中,就用到了hashlib模块,比如:注册和登录认证注册和登录认真过程,就是把注册用的账户密码进行:加密 --> 解密 的过程,在加密.解密过程中,用的了 ...

  3. python之路----初识面向对象(二)

    类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...

  4. Python入门之面向对象的__init__和__new__方法

    Python入门之面向对象的__init__和__new__方法

  5. nginx/ajax跨子域请求的两种现代方法以及403解决

    因为面向互联网的性质,我们公司的大部分系统都采用多子域的方式进行开发和部署,以达到松耦合和分布式的目的,因此子系统间的交互不可避免.虽然通过后台的rpc框架解决了大部分的交互问题,但有些情况下,前端直 ...

  6. 20145302张薇 《网络对抗技术》 web基础

    20145302张薇 <网络对抗> web基础 实验问题回答 1.什么是表单 表单在网页中主要负责数据采集功能:一般网页上需要用户输入.选择的地方都会用到表单 表单标签:即,用于确定表单所 ...

  7. C++ 单例模式(转载)

    转载:http://www.cnblogs.com/cxjchen/p/3148582.html 转载:http://blog.csdn.net/hackbuteer1/article/details ...

  8. Go第十一篇之编译与工具

    Go 语言的工具链非常丰富,从获取源码.编译.文档.测试.性能分析,到源码格式化.源码提示.重构工具等应有尽有. 在 Go 语言中可以使用测试框架编写单元测试,使用统一的命令行即可测试及输出测试报告的 ...

  9. 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)【转】

    本文转载自:https://www.leiphone.com/news/201703/Y5vnDSV9uIJIQzQm.html 生成对抗网络(Generative Adversarial Netwo ...

  10. 《js高级程序设计》--第三章数据类型

    一.关键字 二.保留字 三.数据类型 (数据类型具有动态性)   1.Undefined 声明变量却未对其加以初始化(赋值) 2.Null null值表示一个空对象指针,而这也正是使用typeof操作 ...