gpt4 book ai didi

android - Titanium Android - 在 SQLITE 数据库中导航记录

转载 作者:行者123 更新时间:2023-11-30 03:17:46 25 4
gpt4 key购买 nike

我只是想弄清楚如何使用简单的“前进”和“后退”按钮在 sqlite 数据库中的记录之间导航。

我可以访问数据库并显示记录 - 我通过创建记录的 TableView 来做到这一点,然后如果您单击一条记录,它会显示有关它的更多详细信息。然后,我只希望此页面上的按钮可以在数据库中导航。

我不确定需要对按钮应用什么代码。

这是窗口的代码。

// create var for the currentWindow
var currentWin = Ti.UI.currentWindow;
var id = currentWin.id;


function photoGalleryDidClose(item) {
photoView.image = item.media;
}


var db = Titanium.Database.open('photos');

var sql = db.execute('SELECT * FROM photos where id=?', currentWin.id);

var recordID = sql.fieldByName('id');
var title = sql.fieldByName('title');
var location = sql.fieldByName('location');
var photographer = sql.fieldByName('photographer');
var equipment = sql.fieldByName('equipment');
var caption = sql.fieldByName('caption');
var notes = sql.fieldByName('notes');
var date = sql.fieldByName('date');
var imageUrl = sql.fieldByName('imageUrl');


//Labels to display catalogue details

var labelrecordID = Titanium.UI.createLabel({
text:'Record ID:',
font:{fontSize:18},
top:30,
left: 10,
height: 25,
width:'auto'
})
currentWin.add(labelrecordID);

var labelrecordID1 = Titanium.UI.createLabel({
text:' '+ recordID +'',
font:{fontSize:18},
color:'black',
borderRadius: 2,
top:30,
left: 150,
height: 25,
backgroundColor:'white',
width:'300'
})
currentWin.add(labelrecordID1);


var labelTitle = Titanium.UI.createLabel({
text:'Title:',
font:{fontSize:18},
top:70,
left: 10,
height: 25,
width:'auto'
})
currentWin.add(labelTitle);

var labelTitle1 = Titanium.UI.createLabel({
text:' '+ title +'',
font:{fontSize:18},
color:'black',
borderRadius: 2,
top:70,
left: 150,
height: 25,
backgroundColor:'white',
width:'300'
})
currentWin.add(labelTitle1);

//
//I CUT OUT A LOT OF THE CODE HERE AS IT IS JUST THE SAME AS ABOVE...
//

// create a view to add the label and photo
var photoContainerView = Ti.UI.createView({
top: 310,
left: 10,
height: 230,
width: Ti.UI.FILL
});

var photoLabel = Ti.UI.createLabel({
text: 'Photo:',
left: 0,
height: Ti.UI.SIZE,
width: Ti.UI.SIZE,
font:{fontSize:18}
});

photoContainerView.add(photoLabel);

var photoView = Ti.UI.createImageView({
image: imageUrl,
top: 0,
left: 125,
height: 200,
width: 200,
borderColor: 'gray',
borderWidth: 1
});

photoContainerView.add(photoView);
currentWin.add(photoContainerView);


// create navigation buttons
//
var button_previous = Titanium.UI.createButton({
title: 'Previous',
color: 'white',
backgroundColor: '#464646',
font:{fontSize:20,fontFamily:'Helvetica Neue'},
bottom: 20,
left:10,
width: 100,
height: 60
});

currentWin.add(button_previous);

var button_next = Titanium.UI.createButton({
title: 'Next',
color: 'white',
backgroundColor: '#464646',
font:{fontSize:20,fontFamily:'Helvetica Neue'},
bottom: 20,
right:10,
width: 100,
height: 60
});

currentWin.add(button_next);

我只想将事件监听器添加到按钮,这样我就可以通过数据库中的记录后退/前进,但我不确定从哪里开始以及需要使用什么代码。

非常感谢任何建议。

JC

最佳答案

使用点击监听器用新数据刷新表格,将您当前的位置存储在表格中并通过它翻页,如下所示:

var currentPage = 0;
var pageSize = 25;
button_next.addEventListener('click', function(e) {
currentPage++;
// Load the data
var sql = db.execute('SELECT * FROM photos where id>? LIMIT ?', currentPage * pageSize, pageSize);

.... Your code to convert this statement to actual rows ....

table.setData(yourUpdatedRowDataArray);
});

除了相反之外,上一个按钮的工作方式相同。

关于android - Titanium Android - 在 SQLITE 数据库中导航记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19739067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com