0

私はMonotouchを使用してIpadアプリを作成しています。アプリはテーブルを使用してディレクトリツリーを参照し、ファイルを選択します。Monotouch.Dialogを使用してディレクトリを参照し、アプリの起動時にディレクトリテーブルを設定しましたが、アプリの起動時にテーブルに設定するにはファイルが多すぎるため、「ファイルテーブル」を設定したいと思います。ファイルは最下位レベルのディレクトリテーブルから選択されます。LoadMoreElementを使用してこれを実行しようとしていますが、動作させることも、オンラインで例を見つけることもできません。Xamarinチュートリアルで「ElementsAPIウォークスルー」をコーディングしました:-http://docs.xamarin.com/ios/tutorials/MonoTouch.Dialog次に 、コードに新しいセクションを追加します:-

_addButton.Clicked += (sender, e) => {

   ++n;

   var task = new Task{Name = "task " + n, DueDate = DateTime.Now};

   var taskElement = new RootElement (task.Name){
          new Section () {
                  new EntryElement (task.Name,
                         "Enter task description", task.Description)
          },
          new Section () {
                  new DateElement ("Due Date", task.DueDate)
          },
          new Section() 
                {
                     new LoadMoreElement("Passive","Active", 
                                        delegate {MyAction();})
                }

            };
   _rootElement [0].Add (taskElement);

MyActionの場所:-

public void MyAction()

{{

        Console.WriteLine ("we have been actioned");

}

問題は、MyActionがトリガーされ、Console.Writelineがメッセージを書き込みますが、テーブルはアクティブ状態のままであり、パッシブに戻ることはありません。ドキュメントには次のように記載されています。-NSActionのコードが終了すると、UIActivityインジケーターのアニメーションが停止し、通常のキャプションが再び表示されます。私は何が欠けていますか?

イアン

4

1 に答える 1

1

要素の "Animating" プロパティを false に設定する必要があります。

このような:

LoadMoreElement loadMore = null;

 loadMore = new LoadMoreElement (
     "Passive", "Active", 
     delegate {loadMore.Animating = false;});

デリゲートの実行が停止するとアニメーションが停止するというドキュメントをどこで見ましたか? それがどこかに文書化されている場合、それは間違っています。

于 2012-06-28T15:14:02.973 に答える