0

怎么拉刷新?

在 Titanium appcelerator 中,我需要在 tableview 中显示内容列表。如果我拉视图,它需要更新。在 iPhone 中我完成了,但在 Android 中它不起作用。请任何人帮助解决Android中的这个问题。

我的安卓代码:-

tableView.addEventListener('scroll',function(e)
{
   var offset = e.contentOffset.y;
   if (offset < -65.0 && !pulling && !reloading)
   {
       var t = Ti.UI.create2DMatrix();
       t = t.rotate(-180);
       pulling = true;
       arrow.animate({transform:t,duration:180});
       statusLabel.text = "Release to refresh...";
   }
   else if((offset > -65.0 && offset < 0 ) && pulling && !reloading)
   {
       pulling = false;
       var t = Ti.UI.create2DMatrix();
       arrow.animate({transform:t,duration:180});
       statusLabel.text = "Pull down to refresh...";
   }    
});

tableView.addEventListener('dragEnd', function(e)
{

   if(pulling && !reloading)
   {
       reloading = true;
       pulling = false;
       arrow.hide();
       actInd.show();
       statusLabel.text = "Reloading...";
       tableView.setContentInsets({top:60},{animated:true});
       tableView.scrollToTop(-60,true);
       arrow.transform=Ti.UI.create2DMatrix();
       beginReloading();
   }
});
4

2 回答 2

1

Titanium 现在支持使用 Titanium.UI.TableView、Titanium.UI.ListView 或 Titanium.UI.ScrollView 对象为 Android (> v6.2.0) 和 iOS (>3.2.0) 拉动刷新。

请参阅文档:

从文档中获取的示例代码:

var win = Ti.UI.createWindow({
    fullscreen:true
});
var counter = 0;

function genData() {
    var data = [];
    for (var i=1; i<=3; i++) {
        data.push({properties:{title:'ROW '+(counter+i)}})
    }
    counter += 3;
    return data;
}

var section = Ti.UI.createListSection();
section.setItems(genData());

var control = Ti.UI.createRefreshControl({
    tintColor:'red'
})

var listView = Ti.UI.createListView({
    sections:[section],
    refreshControl:control
});

control.addEventListener('refreshstart',function(e){
    Ti.API.info('refreshstart');
    setTimeout(function(){
        Ti.API.debug('Timeout');
        section.appendItems(genData());
        control.endRefreshing();
    }, 2000);
})

win.add(listView);
win.open();
于 2018-11-27T01:48:57.597 回答
0

这只是 Kitchen Sink 示例中的 IOS 代码吗?

有几次尝试让它在 Android 上运行,但我还没有确认它们中的任何一个都能按预期工作。据我了解,问题在于您无法在 Android 中以与在 IOS 中相同的方式获得偏移量。

一个快速的谷歌搜索出现了这个链接,这个链接是从官方 Appcelerator 论坛引用的。 https://gist.github.com/903895

于 2012-12-31T17:22:50.013 回答