技术开发 频道

Jquery Mobile设计Android通讯录第二章

  列出已存在的通讯录

  下面,我们看下,当用户点某个人名的通讯录时,会显示其通讯录的详细情况。先回顾下在本系列教程第一篇中,提到的如下代码:

function setContactsList(jsonText){
    var tmpJson
= $.parseJSON(jsonText);
    
if(tmpJson != null && tmpJson.contacts != null){
      var tmpContacts
= tmpJson.contacts;
      
for(i = 0; i < tmpContacts.length; i++){
        var tmpKey
= (tmpContacts[i]).key;
        var tmpKeyFragment
= '<li data-role="list-divider">'+tmpKey+'</li>';
        contactSelectionsVar.append(tmpKeyFragment);
        var tmpValues
= (tmpContacts[i]).values;
        
if(tmpValues != null){
          var j;
          
for(j = 0; j < tmpValues.length; j++){
            var tmpDisplayName
= tmpValues[j].displayName;
            var tmpContactId
= tmpValues[j].contactId;
            var tmpLiFragment
= '<li><a href="javascript:showContact(' +
              tmpContactId + ');return false;">'+tmpDisplayName+'</a></li>';
            contactSelectionsVar.append(tmpLiFragment);
          }
        }
      }
    }
    contactSelectionsVar.listview(
'refresh');
    showList();
  }

  这里,通过javascript去调用了showContact方法,用于显示某个人的具体通讯录,代码如下:

function showContact(tmpId){
  showProgress();
  contactSupport.showContact(tmpId,
'DetailPage.html');
}

  这里,首先调用了等待图标的显示方法,然后同样调用后端Android Java的showContact方法调出通讯录的详细信息,然后再把结果回调显示到DetailPage.html中

  而后端JAVA对应的showContact方法如下:

public void showContact(String contactId, String displayPage){
  loadPage(displayPage
+ "?" + contactId);
}

  这里再通过loadPage调用前端的Javscirpt页面,并传入要查看的通讯录的参数contactId,假如现在要看的某人的通讯录的contatId是23,而回显通讯录详细信息的页面是DetailPage.html,则跳转的URL为DetailPage.html?23

0
相关文章