动态滑动添加新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;
        }

    }

  

时间: 2024-08-03 17:21:40

动态滑动添加新item代码的相关文章

实验4-2:掌握Android应用调试方法、添加新界面

第五章.添加新界面 代码清单5-1 添加字符串资源(strings.xml) 代码清单5-2 第二个activity的布局组件定义(activity_cheat.xml) 代码清单5-3 覆盖onCreate(...)方法(CheatActivity.java) 代码清单5-4 在manifest配置文件中声明CheatActivity(AndroidManifest.xml) 代码清单5-5 默认布局中添加cheat按钮(layout/activity_quiz.xml) 代码清单5-6 水平

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

一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用.WebKit官网提供了一份说明(WebKitIDL),比如Web IDL称"operation”(操作), 而WebKitIDL称为"method"(方法), 另外Web IDL也不像WebKitIDL那样将属性和参数分开. 为JavaScript绑定对象,可以使用module来定义所从属的模组. 典型的module包括: core, window, event, traversal, range

动态的添加或者删除指定元素代码实例

动态的添加或者删除指定元素代码实例:本章节介绍一段代码实例,能够动态的添加或者删除指定的元素,这里不管实际应用中此代码出现的概率有多大,只在于如何实现类似的功能,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /&

C# DataGridView控件动态添加新行

C# DataGridView控件动态添加新行 DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[

C# 动态添加类、动态添加类型、代码添加类型

原文:C# 动态添加类.动态添加类型.代码添加类型 引用控件: DLL下载地址:http://pan.baidu.com/s/1nv2GUWL public class TypeCreator { public static Type Creator(string ClassName, int PropertiesCount) { IDictionary<string, Type> Properties = new Dictionary<string, Type>(); Type

jQuery动态添加删除与添加表行代码

具体实现代码如下: table的HTML如下: 代码如下 复制代码 <input type="button" value="添加一行" /><table><tr><td><input type="button" class = "del" value="删除该行"/></td></tr></table> 添加行的

C# DataGridView控件 动态添加新行

DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = "1"; thi

[UnityUI]动态滑动列表

UI布局是这样滴: 具体的关于滑动列表的设置可以参考这里,其中Image的Scroll Rect组件的Content赋值为Content,在这里,我们的Content是一个空物体,它的大小就是上图那个方框的大小.这里有两点很重要: 1.Content的Pivot的Y必须设置为Y的最大值,就像这样: 这是为什么呢?其实动态滑动列表的原理主要就是动态改变Content的Height,当中心点处于最顶的位置时,就能保证顶部位置不变,只有下部的位置在变化.假如中心点处于中间位置,那么改变Height,两

Android ViewPager实现Tabhost选项卡底部滑块动态滑动过渡

 <Android ViewPager实现Tabhost选项卡底部滑块动态滑动过渡> 之前基于github上的第三方开源控件ViewPagerIndicator的UnderlinePageIndicator(原文链接:http://blog.csdn.net/zhangphil/article/details/44752213),自己写了一个底部带有滑块.且当ViewPager页面切换时候选项卡也随之相应切换,且滑块也随之相应动态滑动效果得控件.但写的太过于紧耦合,不利于复用,所以现在重构