• AppCan学习笔记----关闭页面listview动态加载数据


    AppCan页面关闭

    AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1);

    管道

    • AppCan中两个页面通过管道连接,并传递数据
    • appcan.window.publish(channelId,msg) 向指定通道发送消息
    • appcan.window.subscribe(channelId,callback) 订阅一个频道,如果有消息发给该频道,则会执行响应的回调如果是用超链接打开的页面收不到消息

    例子

    • 需要注意的是,要确保publish方法执行过即开通了一个管道才可以接收到信息
    //在..._content页面发送消息
    function send() {
                //发送消息
                appcan.window.publish('test', 'hello');
                alert("发送成功");
    
            }
    
    //在.. .html文件ready方法中打开管道
     appcan.ready(function() {
    
                appcan.window.subscribe('test', function(msg) {
                    if (msg == 'hello') {
                        closeMyself();
                    } else {
                        alert("test");
                    }
                });
    
    //执行获取正确信息后的方法
    function closeMyself() {
                alert("closeMyself调用");
                appcan.window.close(-1);
            }
    

    listview动态加载数据

    • appcan ---> 添加列表 ---->带图片的列表
    //自动生成
    appcan.ready(function() {
            });
    
            var lv = appcan.listview({
                selector : "#listview",
                type : "thinLine",
                hasIcon : false,
                hasAngle : true,
                hasSubTitle : true,
                multiLine : 1,
            });
            lv.set([{
                title : "临时数据",
                subTitle : "12:05",
                id : "1"
            }, {
                title : "临时数据",
                subTitle : "12:05",
                id : "2"
            }])
            lv.on("click", function(ele, obj, curEle) {
            })
    
    //从服务器获取数据
    function getData() {
                var url = "服务器地址" + "用户登录id";
                apcan.request.getJSON(url, function(data) {
                    //提前判断是否加载成功,现将data解析
                    showMenu(data) {
    
                    }
                }, 'json', function(err) {
                    alert(err);
                }, "get", "", false);
            }
    
    //将信息动态赋值给listview
    function showMenu(data) {
                var lv = appcan.listview({
                    selector : "#listview",
                    type : "thinLine",
                    hasIcon : false,
                    hasAngle : true,
                    hasSubTitle : true,
                    multiLine : 1,
                });
                var datalist = data.data;
                for(i=0;i<data.datalist.length;i++){
                    datalist[i].title = data.data[i].title;
                    datalist[i].describ = data.data[i].content;
                    datalist[i].subtit = data.data[i].uid;
                    
                    lv.set(datalist);
                    
                }
            }
    
  • 相关阅读:
    C的xml编程文章链接
    《Android内核剖析》读书笔记 第13章 View工作原理【View树遍历】
    在MyEclipse中编写Web Project,编码设置全集合
    “克强经济学”绝非是通缩经济学
    VS2008--无法找到“XXX.exe”的调试信息,或者调试信息不匹配
    Dubbo架构设计详解--转载
    Beyond MySQL --Branching the popular database--转载
    eclipse中不能找到dubbo.xsd解决方法
    Java + MongoDB Hello World Example--转载
    Dubbo入门实例--转载
  • 原文地址:https://www.cnblogs.com/Singleorb/p/5315404.html
Copyright © 2020-2023  润新知