protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); lv = (ListView)findViewById(R.id.listView);
datalist = new ArrayList<Map<String,Object>>();
//1.新建适配器
//2.适配器加载数据源
/*
各个参数含义
context:上下文
data:数据源 (List<Map<String,object>>)多个Map所组成的List集合
每一个Map都对应ListView列表中的一行
每一个Map(键-值对)中的键必须包含所有在from中所指定的键
resource:列表项的布局的文件ID
from: Map中的键名
to: 绑定数据视图中的ID,与from成对应关系。
*/
sim_adapter = new SimpleAdapter(this,getDATA(),R.layout.abc,new String[]{"first","second"},new int[]{R.id.pic,R.id.text});
//3.视图加载适配器 lv.setAdapter(sim_adapter); lv.setOnItemClickListener(this);
lv.setOnScrollListener(this); } private List<Map<String,Object>> getDATA(){
for(int i = 0; i< 20 ; i++){
Map<String , Object> map = new HashMap<String,Object>();
map.put("first",R.drawable.abc);
map.put("second", "礼拜" + i);
datalist.add(map); } return datalist;
} @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String text = lv.getItemAtPosition(position)+ ""; //Toast.makeText(上下文,内容,显示时间);
Toast toast =Toast.makeText(this,"位置="+position+"内容="+text,Toast.LENGTH_SHORT);
//在屏幕中显示的位置,X轴的相对偏移,Y轴的相对偏移
toast.setGravity(Gravity.CENTER, 0 , 0);
//运行展示
toast.show();
} @Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState)
{
case SCROLL_STATE_FLING:
Log.i("Main", "用户在手指离开屏幕,由于用力滑了一下,视图仍依靠惯性继续滑动");
Map<String,Object> map = new HashMap<String, Object>();
map.put("first",R.drawable.abc);
map.put("second","增加项目");
datalist.add(map);
sim_adapter.notifyDataSetChanged(); //刷新listview
break;
case SCROLL_STATE_IDLE:
Log.i("Main","视图已停止滑动");
break;
case SCROLL_STATE_TOUCH_SCROLL:
Log.i("Main","手指没有离开屏幕,视图正在滑动");
break;
} }

  

ListView 一维排布 动态滑动添加新item代码的更多相关文章

  1. GridView 二维排布

    与ListView一维排布相对 public class MainActivity extends Activity implements AdapterView.OnItemClickListene ...

  2. WebKit JavaScript Binding添加新DOM对象的三种方式

    一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用.WebKit官网提供了一份说明(WebKitIDL),比如Web IDL称"operation”(操作), 而 ...

  3. C# DataGridView控件 动态添加新行

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行, ...

  4. C# DataGridView控件动态添加新行

    C# DataGridView控件动态添加新行 DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如 ...

  5. hadoop集群中动态添加新的DataNode节点

    集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...

  6. DataGridView动态添加新行的两种方法

    简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: int index=this.dataGridView1.Rows.Add();this.dataGridView1.R ...

  7. $ListView的优化机制和滑动时数据错乱的讨论

    Refer:http://www.myexception.cn/mobile/1612364.html (一)Android ListView的基本用法 1.创建一个实体类Person,为其添加Get ...

  8. CSS布局之div交叉排布与底部对齐--flex实现

    最近在用wordpress写页面时,设计师给出了一种网页排布图样,之前从未遇到过,其在电脑上(分辨率大于768px)的效果图如下: 而在手机(分辨率小于等于768px)上要求这样排列: 我想到了两种方 ...

  9. [转] 添加新的系统调用 _syscall0(int, mysyscall)

    实验目的阅读 Linux 内核源代码,通过添加一个简单的系统调用实验,进一步理解Linux操作系统处理系统调用的统一流程.通过用kernel module的方法来实现一个系统调用实验,进一步理解Lin ...

随机推荐

  1. html5 iphone input 输入法 弹窗将页面顶起 解决办法

    给 input 添加失焦事件,然后滚动视图 input.search(type="text",@blur="scrollTop") scrollTop(){ w ...

  2. Java学习笔记-IO

    IO(Input Output)流,用来处理设备之间的数据传输 IO IO概述 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流 流按流向 ...

  3. Linux文件属性改变命令chown-chgrp-chattr-lsattr实践

    chown 语法: chattr.lsattr  更改文件属性

  4. 【LOJ】#3032. 「JOISC 2019 Day1」馕

    LOJ#3032. 「JOISC 2019 Day1」馕 处理出每个人把馕切成N段,每一段快乐度相同,我们选择第一个排在最前的人分给他的第一段,然后再在未选取的的人中选一个第二个排在最前的切一下,并把 ...

  5. PAT B1016.部分A+B(15)

    B1016.部分A+B(15) #include <cstdio> #include <cstring> int calc(long long a, long long da) ...

  6. 分词搜索 sphinx3.1.1+php+mysql

    sphinx3.1.1的安装与使用 下载sphinx3.1.1 wget http://sphinxsearch.com/files/sphinx-3.1.1-612d99f-linux-amd64. ...

  7. ubuntu 系统升级

    1.更新软件源和软件 $ sudo apt-get update && sudo apt-get dist-upgrade 2.安装update-manager-core $ sudo ...

  8. 【记忆化搜索】Navy maneuvers

    [来源]: 2008年哈尔滨区域赛题目 [题目链接]: http://acm.hdu.edu.cn/showproblem.php?pid=2452 [参考博客]: https://blog.csdn ...

  9. windows 的文件夹映射实现

    具体的操作命令如下:MKLINK [[/D] | [/H] | [/J]] Link Target/D:创建目录符号链接.默认为文件符号链接./H:创建硬链接,而不是符号链接./J:创建目录联接.Li ...

  10. hdu 6025(女生赛)

    典型的用空间换取时间的思想 关键要理解多个数怎么算最小公倍数 用一个前缀 一个后缀 然后枚举去掉的点就可以了 #include <iostream> #include <cstdio ...