我正在创建一个应用程序,使用Titanium Framework在应用程序用户中发送消息。在应用程序中,我将显示用户之间的对话(消息线程)。我正在接受以下代码中给出的线程
var tableView = Ti.UI.createTableView({
top : '10%',
scrollable : true,
width : '100%',
minRowHeight: '50',
bottom : '10%'
});
/*getting the message threads and adding them to the tableview
and displaying it while opening the window*/
win1.addEventListener('open', function(){
tableData = [];
Cloud.Messages.showThreads(function (e) {
if (e.success) {
Ti.API.info('Success: ' +'Count: ' + e.messages.length);
for (var i = 0; i < e.messages.length; i++) {
var message = e.messages[i];
//alert(JSON.stringify(message));
var row = Ti.UI.createTableViewRow({
title : message.body,
backgroundColor : '#FF9900',
threadID : message.thread_id ,
color : 'blue'
});
tableData.push(row);
}
tableView.data = tableData;
} else {
alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
}
});
});
我想显示tableViewRow中每个线程中的最后一条消息(标记为消息正文)。但是每个线程的消息体不显示对话中的最后一条消息,而是显示第一条消息。
。
有人能帮帮我吗?在此先感谢!!
答案 0 :(得分:1)
最后我明白了。我在代码中做了一些更改。
win1.addEventListener('open', function() {
tableData = [];
// show all threads
Cloud.Messages.showThreads(function(eThread) {
if (eThread.success) {
Ti.API.info('Total Threads: ' + eThread.messages.length);
for (var i = 0; i < eThread.messages.length; i++) {
var thread = eThread.messages[i];
var message = "";
// get the newest message from a thread
Cloud.Messages.showThread({
thread_id : thread.thread_id
}, function(eMessage) {
if (eMessage.success) {
var totalMessages = eMessage.messages.length;
Ti.API.info('Total messages in the thread ' + totalMessages);
//Getting the last message in the thread.
message = eMessage.messages[0];
var row = Ti.UI.createTableViewRow({
title : message.body,
backgroundColor : '#FF9900',
threadID : thread.thread_id,
color : 'blue'
});
tableData.push(row);
tableView.data = tableData;
} else {
alert('Error showThread: ' + ((eMessage.error && eMessage.message) || JSON.stringify(eMessage)));
}
});
}
} else {
alert('Error showThreads: ' + ((eThread.error && eThread.message) || JSON.stringify(eThread)));
}
});
});
参考:Display the last message in Message Threads。我从马蒂亚斯先生的链接中得到了回答。那里也给出了描述。可能对其他人有帮助。