0

如何在 XTemplate 中执行特定次数的循环

以下不起作用

<tpl for="5">
...
</tpl>

问候, kkris1983


Android:从数据模型中按名称对 ListView 进行排序

我正在尝试ListView按字母顺序排序。

我有一个名为的数据模型类AiringModel(),它有一个名为getName(). 我需要根据来自的返回值订购 ListView getName()

到目前为止,我尝试Comparator在适配器上使用 a ,sort()如下所示:

final ArrayAdapter<AiringModel> adapter = new TrackingAdapter(
                activity.getSherlockActivity(), resultList);
        //resultList -> List<AiringModel> list
        adapter.sort(new Comparator<AiringModel>() {
            @Override
            public int compare(AiringModel lhs, AiringModel rhs) {
                // TODO Auto-generated method stub
                return lhs.getName().compareTo(rhs.getName());
            }
        });
        trackingAdapter = adapter;
        activity.setListAdapter(adapter);

但这不起作用,没有错误,ListView只是保持完全相同。

知道我做错了什么吗?

编辑:

该列表根据日志完美排序,所以我又去挖掘了一些,结果发现我正在另一个线程中重置适配器,叹息。感谢您给我一些想法,但它有所帮助。

4

1 回答 1

0

我认为这可行的唯一方法是用 5 个项目填充变量,如下所示:

Ext.onReady(function () {
    var panel = Ext.create('Ext.panel.Panel', {
        renderTo: Ext.getBody(),
        title: 'test',
        height: 300,
        width: 300
    });

    var total = 5;
    var data = {
        count: []
    };    
    for (var i = 1; i <= 5; i++) {
        data.count.push(i);
    }

    var tpl = [
        '<tpl for="count">',
        '{.}<br>',            
        '</tpl>'];

    var t = new Ext.XTemplate(tpl);
    panel.update(t.apply(data));
});

小提琴:http: //jsfiddle.net/johanhaest/2WEVE/3/

于 2013-03-15T09:41:11.827 回答