2015-03-25 66 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); 
} 

這應該做的伎倆。