如何在钛中编辑Android列表视图

时间:2015-02-11 18:52:38

标签: android android-layout titanium titanium-mobile updates

我是钛的新手。你可以建议我在钛中编辑android listview。 列表项从服务器数据库获取。我想编辑任何行并更新到数据库表。我已经从数据库中获取数据/列表项,并在tab1中的选项卡组上显示为列表视图。现在我想编辑任何列表项并更新到数据库。例如,从列表中编辑任何名称并更新到数据库。

var tabGroup = Titanium.UI.createTabGroup();

var win1 = Titanium.UI.createWindow({
});

var tab1 = Titanium.UI.createTab({  
    icon:'KS_nav_views.png',
    title:'List',
    window:win1
});

var scrollView = Ti.UI.createScrollView({
  contentWidth: 'auto',
  contentHeight: 'auto',
  scrollType: 'horizontal', 
  height: 'auto',
  width: 'auto'
});

var section = Ti.UI.createListSection();
var listView = Ti.UI.createListView
({
  sections: [ section ],
  searchView: search,
  editing: true,
  caseInsensitiveSearch: true,
  pruneSectionsOnEdit : true,
  width:'100%'

});

         var ajax = Ti.Network.createHTTPClient();   
        ajax.onerror = function(e){
            alert('Error');
        };
        ajax.onload = function(){
            Titanium.API.info(this.responseText);
            var data = this.responseText;
            var jdata = JSON.parse(data);

            if(jdata.success){
                 rows=jdata.data;
               var dataArr = [];
                 for(i=0; i< rows.length; i++){
                     dataArr[i]={ properties: { title: rows[i].name, canEdit: true, canMove: true}};
                 }

                 console.log(dataArr);
                section.setItems(dataArr);

            }
            else{
                alert(jdata.msg);
            }

        };
        ajax.open('POST', 'http://www.examples.com/get-users.php');

scrollView.add(listView);
win1.add(scrollView);
abGroup.addTab(tab1);

1 个答案:

答案 0 :(得分:0)

填写完列表后,如果要更新某一行,则应该:

  • 部分获取该项目
  • 更新项目的字段
  • 更新部分

以下是一些代码:

var item = section.getItemAt(index) //You should know the position
                                    // do a check loop or save a hashmap
item["title"]["text"] = "new title"
section.updateItemAt(index, item)

//Extract the model now, update and save
var model = getModel() //TODO this function
model.set({"title": "new title"})
model.save()