2011-09-07 64 views
2

我創建表視圖,每一行將包含文本和複選框加載數據庫的行的行,其中我設置一些複選框默認爲真,其餘都是假的,但是當我滾動複選框被選中默認情況下,我設置它作爲錯誤,而只滾動問題發生,我不知道如何解決這個問題。Android的開關盒鈦表視圖導致滾動的問題?

這是我使用的代碼。

我也嘗試了,而不是設置複選框的默認值,我初始化所有複選框爲false,同時選擇運行時的任何複選框,並向下滾動其他文本框也選中,它只發生在滾動時,我不`不知道如何解決這個問題,如果有人知道意味着幫助我。

function setArray(){     
      var db = Ti.Database.install('../databases/ChecklistDB.sqlite','ChecklistDB'); 
      var rows = db.execute('SELECT DISTINCT category, defaultCheck FROM revcheck ORDER BY id');    
      var dataArray = [];   
      while (rows.isValidRow()) 
      {     
       var bgcolor = 'black'; 
       var fontColor = 'white';          
       dataArray.push({ 
        title: rows.fieldByName('category'), 
        check: rows.fieldByName('defaultCheck'), 
       hasChild:true,   
       backgroundColor:bgcolor, 
       color:fontColor,      
       font:{fontSize:'12dp',fontFamily:'Helvetica Neue',fontWeight:'bold'}, 
       path:'../scripts/Contents.js' 

       }); 
       rows.next();  
      } 
      dataItems = []; 
      //var checkbox=[];    
       for (var i =0; i < dataArray.length; i++) { 
       var row = Titanium.UI.createTableViewRow();    
       var lblTitle = Titanium.UI.createLabel({ 
       text:dataArray[i].title, 
       left:40      
       }); 

        var checkbox= Titanium.UI.createSwitch({ 
        style:Titanium.UI.Android.SWITCH_STYLE_CHECKBOX,  
        ret:dataArray[i].title, 
        left:0 
         }); 


        if(checkbox.ret=='Metadata'){ 
         checkbox.value = true; 
        }   
        else{ 
         checkbox.value = false; 
        } 
       var button = Titanium.UI.createButton({ 
       image:'../images/arrows.png', 
       left:270      
       }); 
       button.addEventListener('click', function(){ 
       var win = Titanium.UI.createWindow({ 
       url:'../scripts/Contents.js',    
       fullscreen: false 
       }); 
        win.open(); 
       }); 


       row.add(lblTitle); 
       row.add(checkbox); 
       row.label = lblTitle;     
       //row.checkbox = checkbox; 
       row.add(button); 
       row.button = button; 
       row.className = 'ContentsRow'; 
       dataItems.push(row); 


       } 
      tableview.setData(dataItems); 


     } 

     var tableview = Ti.UI.createTableView({ 
      backgroundColor:'black', 
      backgroundSelectedColor:'#12A1FF',     
      top:'2%', 
      left:0, 
      height:'95%', 
      width:'100%'     
     }); 

     setArray(); 

謝謝。 enter image description here enter image description here

+0

你能展示正在發生的事情的屏幕截圖嗎? –

回答

3

嘗試在表上設置className屬性。你使用的是什麼版本的SDK。

+0

嘿它的工作yar ...謝謝... – Karthi