ListView 一维排布 动态滑动添加新item代码
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代码的更多相关文章
- GridView 二维排布
与ListView一维排布相对 public class MainActivity extends Activity implements AdapterView.OnItemClickListene ...
- WebKit JavaScript Binding添加新DOM对象的三种方式
一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用.WebKit官网提供了一份说明(WebKitIDL),比如Web IDL称"operation”(操作), 而 ...
- C# DataGridView控件 动态添加新行
DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行, ...
- C# DataGridView控件动态添加新行
C# DataGridView控件动态添加新行 DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如 ...
- hadoop集群中动态添加新的DataNode节点
集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...
- DataGridView动态添加新行的两种方法
简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: int index=this.dataGridView1.Rows.Add();this.dataGridView1.R ...
- $ListView的优化机制和滑动时数据错乱的讨论
Refer:http://www.myexception.cn/mobile/1612364.html (一)Android ListView的基本用法 1.创建一个实体类Person,为其添加Get ...
- CSS布局之div交叉排布与底部对齐--flex实现
最近在用wordpress写页面时,设计师给出了一种网页排布图样,之前从未遇到过,其在电脑上(分辨率大于768px)的效果图如下: 而在手机(分辨率小于等于768px)上要求这样排列: 我想到了两种方 ...
- [转] 添加新的系统调用 _syscall0(int, mysyscall)
实验目的阅读 Linux 内核源代码,通过添加一个简单的系统调用实验,进一步理解Linux操作系统处理系统调用的统一流程.通过用kernel module的方法来实现一个系统调用实验,进一步理解Lin ...
随机推荐
- mysql大量locked的一个案例
转自 http://cyxu2004.blog.163.com/blog/static/45768718201222133440986/
- SQL --------JDBC 用用户名查询用户的信息
package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...
- navicat建立本地连接出错解决
使用navicat建立本地连接时报错: 2.设置用户配置项 (1) 查看用户信息 select host,user,plugin,authentication_string from mysql.us ...
- Linux下将用户添加到sudoers中
Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令. root 账户键入visudo即可进入sudo配置,这个命令 ...
- (企业面试)描述Linux系统的启动过程?
1简单描述(口头): 1.开机BIOS自检(检查硬件,cpu,主板,内存……) 2. MBR引导 硬盘 0 柱面 0 磁道 1 扇区的前446byte 3. grub 引导菜单 cat/etc/gr ...
- libmkl 学习笔记
libmkl 学习笔记 1.libkml下载地址为: https://github.com/libkml/libkml/releases 这里下载1.3.0版本 2.编译与安装 mkdir build ...
- SQL Server中bcp命令的用法以及数据批量导入导出
原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...
- 石子合并(直线版+环形版)&(朴素写法+四边形优化+GarsiaWachs算法)
石子合并-直线版 (点击此处查看题目) 朴素写法 最简单常见的写法就是通过枚举分割点,求出每个区间合并的最小花费,从而得到整个区间的最小花费,时间复杂度为O(n^3),核心代码如下: ; i < ...
- Linux就该这么学——新手必须掌握的命令之系统状态检测命令组
ifconfig命令 用途 : 获取网卡配置与网络状态等信息 格式 : ifconfig[网络设备][参数] 其实主要查看的就是网卡名称,inet参数后面的IP地址,ether参数后面的网卡物理地址( ...
- Elastic Search中mapping的问题
Mapping在ES中是非常重要的一个概念.决定了一个index中的field使用什么数据格式存储,使用什么分词器解析,是否有子字段,是否需要copy to其他字段等.Mapping决定了index中 ...