2015-03-25 67 views
0

我想从appcelerator(Titanium)的listview中删除一行。appcelerator删除listview行?

我做了很多研究的所有我发现的tableview,坏消息是我不能使用tableview我有我的列表中的巨大数据只有listview可以处理它们。

我的问题是我找不到一个方法来从列表视图中为Android和IOS提供行索引或行对象来删除行。

我的代码:

/* 
    * custom tempalte 
    */ 
var myTemplate = { childTemplates: [ { type  : 'Ti.UI.View', 
               bindId : 'groupHead', 
               properties: { // top : '2dp', 
                   width : '100%', 
                   height : '55dp', 
                  }, 
               childTemplates : [ { type  : 'Ti.UI.View', 
                     bindId : 'groupHeadc',   
                     properties: { width : '40%', 
                        height : '55dp', 
                        left:'0dp', 
                        backgroundImage:'/imgs/pix.png', 
                        backgroundRepeat:true 
                       }, 
                     childTemplates : [{ type  : 'Ti.UI.Label', 
                          bindId : 'lblGroupTitle',   
                          properties: {color : '#000000', 
                             left : '2dp', 
                             right : '45dp', 
                             height : Ti.UI.SIZE, 
                             width:'100%', 
                             horizontalWrap:true, 
                             font : { 
                              fontSize : '14dp', 
                              fontFamily : customFont 
                             }, 
                             } 
                          }] 
                    }, 
                    { type  : 'Ti.UI.View', 
                     bindId : 'groupc',   
                     properties: { //top : '2dp', 
                        width : '60%', 
                        height : '55dp', 
                        //left:'50%', 
                        right:'0dp', 
                        backgroundImage:'/imgs/pix.png', 
                        backgroundRepeat:true 
                       }, 
                     childTemplates : [{ type  : 'Ti.UI.Label', 
                          bindId : 'lblGroupc',   
                          properties: {color : '#000000', 
                             left : '2dp', 
                             right : '45dp', 
                             height : Ti.UI.SIZE, 
                             width:'80%', 
                             horizontalWrap:true, 
                             font : { 
                              fontSize : '14dp', 
                              fontFamily : customFont, 
                              //LineHeight:'10dp', 
                             }, 
                             } 
                          }]                     
                    }, 
                    { type  : 'Ti.UI.ImageView', 
                      bindId : 'close',   
                      properties: { height : '16dp', 
                         width : '16dp', 
                         right : '5dp', 
                         image : '/imgs/cross-red.png', 
                         bubbleParent : false 
                        },    
                      events : { click : deleteContact }                
                    } 
                    ], 
               // events : { click: rowClick } 
              }, 
             ] 
            }; 

/* 
* this function listener to delete row from listview is working 
*/ 
function deleteContact(e) 
{ 

    Ti.API.info("Delete ListView Raw = "+ JSON.stringify(e)); 

    var sectionIndex = 0; 

    Ti.API.info("Raw = "+ e.itemIndex); 

    //not working 
    grainSection[sectionIndex].deleteItemsAt(e.itemIndex,1); 

} 


     grainSection[s] = Ti.UI.createListSection(); 
    var grainDataSet = []; 
    var sections  = []; 

    listviews[l] = Ti.UI.createListView({ templates: { 'template': myTemplate }, 
              defaultItemTemplate: 'template', 
              width   : "100%", 
              height   : "100%", 
             // borderRadius : 5, 
              backgroundColor : "transparent", 
              caseInsensitiveSearch: true 
             }); 
    contentView.add(listviews[l]); 

回答

2

里面你​​方法请尝试以下操作:

function deleteContact(e) 
{ 

    Ti.API.info("Delete ListView Raw = "+ JSON.stringify(e)); 
    Ti.API.info("Raw = "+ e.itemIndex); 
    e.section.deleteItemsAt(e.itemIndex, 1); 
} 

这应该做的伎俩。