1

Lightning でカレンダーのすべての仕事を取得する方法が見つかりません。私は関数getItem()とインターフェイス(ここgetItems())からの解決策だと思っていましたが、正しく動作させることができませんでした。calICalendar

4

2 に答える 2

2

あなたは正しい方向に進んでいます。やりたいフラグだけを渡す必要があります。例はここにあります。

以下の例でさらに詳しく説明するために、いくつかの構文エラーがあり、異なるフラグが必要になる場合があります。アラートが必要な理由がわかりません。イベントループがスピンされていないように聞こえます。これらのビットをどのようなコンテキストで呼んでいますか?

これを試して:

var arrayItems = new Array();

var todoListener = {
    onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
    onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) {  
        arrayItems = arrayItems.concat(aItems);
    }
};

var filter = aCalendar.ITEM_FILTER_TYPE_TODO | aCalendar.ITEM_FILTER_COMPLETED_ALL;
aCalendar.getItems(filter, 0, null, null, todoListener);
于 2011-07-11T19:32:16.727 に答える
1

あなたの例のおかげで、私の主な問題であるリスナーを実装する方法を理解しました。

だからここで私がコードするもの:

var arrayItem = new Array; ;

    var todoListener = 
    {
        onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
        onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) 
        {    
            for (let i=0; i < aCount; i++) 
            {
                arrayItem.push(aItems[i]);
            }           
        }
    };

    var filter = aCalendar.ITEM_FILTER_ALL_ITEMS;
    filter |= aCalendar.ITEM_FILTER_TYPE_TODO;
    aCalendar.getItems(filter, 0, null, null, todoListener);

しかし、私はここで本当に奇妙な問題を抱えています。実際、このコードでは todos を取得できません。alert("something");arrayItem をいっぱいにするために、getItems() メソッドの後に追加する必要があります。それ以外の場合は空です。

于 2011-07-13T02:42:27.653 に答える