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();
謝謝。
你能展示正在發生的事情的屏幕截圖嗎? –