public class MainActivity extends Activity implements OnItemClickListener,
OnScrollListener { private ListView listView;
private SimpleAdapter simple_adapter;
private List<Map<String, Object>> list;
private int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 匹配布局文件中的ListView控件
listView = (ListView) findViewById(R.id.listView);
//数据适配器的数据源
String[] data = new String[] { "java", "C++", "JavaScript", "Php",
"Python" };
//参数1:MainActivity:当前上下文
//参数2:当前ListView加载的每一个列表项所对应的布局文件
//参数3:数据源
// 数据适配器的定义,并加载数据源
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.simple_list_item_1, data);
// 给ListView设置数据适配器
listView.setAdapter(adapter);
// 设置ListView的元素被选中时的事件处理监听器
listView.setOnItemClickListener(this);
// getData();
// 设置SimpleAdapter监听器
//new String[]{}:代表数据源中键值对的键名
new int []{}:代表键值对的id
// simple_adapter = new SimpleAdapter(MainActivity.this,
// list, R.layout.list_item,
// new String[] { "image", "text" }, new int[] { R.id.image,
// R.id.text });
// listView.setAdapter(simple_adapter);
// listView.setOnScrollListener(this);
} // 加载SimpleAdapter数据集
private List<Map<String, Object>> getData() {
list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("text", "java");
map.put("image", R.drawable.ic_launcher);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("text", "C++");
map2.put("image", R.drawable.ic_launcher);
Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("text", "JavaScript");
map3.put("image", R.drawable.ic_launcher);
Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("text", "Php");
map4.put("image", R.drawable.ic_launcher);
Map<String, Object> map5 = new HashMap<String, Object>();
map5.put("text", "Python2");
map5.put("image", R.drawable.ic_launcher);
list.add(map);
list.add(map2);
list.add(map3);
list.add(map4);
list.add(map5);
return list;
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} // (5)事件处理监听器方法
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
// 获取点击ListView item中的内容信息
String text = listView.getItemAtPosition(position) + "";
// 弹出Toast信息显示点击位置和内容
Toast.makeText(MainActivity.this, "position=" + position + " content=" + text,Toast.LENGTH_SHORT).show(); } @Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
// 手指离开屏幕前,用力滑了一下
if (scrollState == SCROLL_STATE_FLING) {
Toast.makeText(MainActivity.this, "用力滑一下",Toast.LENGTH_SHORT).show();
Map<String, Object> map = new HashMap<String, Object>();
map.put("text", "滚动添加 "+i++);
map.put("image", R.drawable.ic_launcher);
list.add(map);
listView.setAdapter(simple_adapter);
//重新通知线程刷新UI界面
simple_adapter.notifyDataSetChanged();
} else
// 停止滚动
if (scrollState == SCROLL_STATE_IDLE) { } else
// 正在滚动,手指没有离开屏幕
if (scrollState == SCROLL_STATE_TOUCH_SCROLL) { }
} @Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub } }

ListView用法的更多相关文章

  1. ListView用法总结C#

    ListView是个较为复杂的控件     网上教程写的很乱,C#中文资料太匮乏了,小白叔叔觉得有必要自己出一份了. http://blog.sina.com.cn/s/blog_43eb83b901 ...

  2. C# ListView用法

    ListView是个较为复杂的控件       1.定义   把它拽进来,系统会自动在Designer.cs里添加一个  this.listView1 = new System.Windows.For ...

  3. C# ListView用法详解 很完整

    一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设 ...

  4. JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整

    JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整

  5. ListView用法总结

    前言 列表,它作为一种非常重要的显示形式,不管是在web端还是在移动平台上,都是一种非常友好的,功能强大的展现形式.在Android中,ListView就接管了这一重任.尽管在Android5.X时代 ...

  6. winform listview用法

    资源收集 C#winform中ListView的使用 C# WinForm开发系列 - ListBox/ListView/Panel(介绍了一些listview的高级用法) 直接上代码 示例一: th ...

  7. Spinner用法与ListView用法

    参考: http://blog.csdn.net/u012960536/article/details/46732421 --------------------------------------- ...

  8. Android ListView用法

    写了一个简单的示例来说明ListView的用法:给定一个单词,下面有四个含义,找出正确的一个,无论是否成功,则会跳转到下一个单词:主要用到的知识有: findViewById().  ListView ...

  9. 3.17学习总结.listview用法总结

    今天复习了listview控件的用法. 1.activity_main.xml 中的代码,如下: <?xml version="1.0" encoding="utf ...

  10. C# ListView用法详解

    一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设 ...

随机推荐

  1. C语言事实上不简单:数组与指针

    之前在写C的时候,没怎么留意数组.就这么定义一个.然后颠来倒去的使用即可了.只是后来碰到了点问题.解决后决定写这么一篇博客,数组离不开指针.索性就放一起好了. 如今我定义了一个数组:int cc[10 ...

  2. HDU 1796 How many integers can you find(容斥原理+二进制/DFS)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  3. js 合并对象

    对象的合并 需求:设有对象 o1 ,o2,需要得到对象 o3 var o1 = { a:'a' }, o2 = { b:'b' }; // 则 var o3 = { a:'a', b:'b' } 方法 ...

  4. 操作系统——IO管理

    一.IO系统结构 在计算机系统中.cpu要和很多外设进行交互.比方鼠标,键盘,网卡等等. 1.IO是怎样协调工作的那? (1)对于设备来说,其有两部分组成,一部分是机械部分,还有一部分是电子控制部分. ...

  5. 兔子--CheckBox与Radiobutton的差别

    RadioButton和CheckBox的差别: 1.单个RadioButton在选中后.通过点击无法变为未选中状态,单个CheckBox在选中后.通过点击能够变为未选中. 2.一组RadioButt ...

  6. Python全栈

    Python基础 Python基础01 Hello World! Python基础02 基本数据类型 Python基础03 序列 Python基础04 运算 Python基础05 缩进和选择 Pyth ...

  7. Swift新手教程系列5-函数+selector在swift中的使用方法

    原创blog.转载请注明出处 近期在用swift写代码,尽管遇到一些问题,可是代码量确实减了不少. swfit新手教程系列会随着我使用swfit中的积累,不断地去修正更新 之前的教程 swift单例模 ...

  8. centos部署jenkins

    1. 实验环境:   操作系统: CentOS Linux release 7.2.1511 (Core) 软件版本: jdk-8u60-linux-x64    apache-tomcat-9.0. ...

  9. easyUI的getChanges中的inserted

    easyUI中的datagrid.treegrid编辑了数据,可以用getChanges命令来获取更新情况.按道理,有"inserted"."updated". ...

  10. Message: SyntaxError: unterminated string literal

    #Message: SyntaxError: unterminated string literalmytxt = words.replace('\n','').replace('\r','') js ...