Tabs 钛:如何在聚焦时重新加载标签?

Tabs 钛:如何在聚焦时重新加载标签?,tabs,focus,titanium,tableview,reload,Tabs,Focus,Titanium,Tableview,Reload,我在我的应用程序中构建了一个favorite选项卡,用于显示数据库中标记为favorite的条目。从背面看,它应该可以正常工作,但我不知道在进行更改后如何重新加载收藏夹选项卡。但是,当我退出并重新启动应用程序时,更新会按应有的方式显示 本质上,我的问题与这里的问题相同: “我的应用程序中有一个“搜索”和“搜索历史记录”选项卡。在此选项卡下执行的每个搜索都会插入到我的本地数据库中。 但是,当我在搜索后浏览数据库时,从“搜索历史记录”选项卡中的数据库检索数据的tableview中没有反映新的搜索。

我在我的应用程序中构建了一个favorite选项卡,用于显示数据库中标记为favorite的条目。从背面看,它应该可以正常工作,但我不知道在进行更改后如何重新加载收藏夹选项卡。但是,当我退出并重新启动应用程序时,更新会按应有的方式显示

本质上,我的问题与这里的问题相同:

“我的应用程序中有一个“搜索”和“搜索历史记录”选项卡。在此选项卡下执行的每个搜索都会插入到我的本地数据库中。 但是,当我在搜索后浏览数据库时,从“搜索历史记录”选项卡中的数据库检索数据的tableview中没有反映新的搜索。 然而,当我退出应用程序并重新启动它时,最新的搜索将被加载。 我需要一些帮助来弄清楚如何在不退出应用程序的情况下触发tableview重新加载。 解决方案更新: 问这个问题让我觉得很不自在,但其实很简单 我为包含选项卡的窗口添加了一个“focus”eventlistener来加载数据。 addEventListener('focus',function(){loadDBdata();})

这似乎是合理的,但loadDBdata函数应该包含什么?
如果有任何指向这一点的提示,我将不胜感激。

我建议在更新收藏夹时触发一个事件,并在保存收藏夹列表的表上设置一个事件列表输入程序。当收到事件时,它应该更新表的内容

看到我刚才回答的这个问题了吗?它也应该为解决你的问题提供指导


loaddb函数应该包含以下内容:

// init database
var db = Ti.Database.install('path/to/database.db','myDB');

// your request
var sql = 'SELECT * FROM myDatabaseTable';

// the result from that request
var myContent = db.execute(sql);

// need to put the result in a valid structure before inserting into your tableview
var data = [];
while (myContent.isValidRow()){
  // your tableviewrow
  var row = {
    title = myContent.field(0);
  };
  data.push(row);
  myContent.next();
};

// need to close stuff (!)
myContent.close();
db.close();

// finally return data
return data;