2017-06-27 22 views
0

今日はfirebaseを使い始めました。 firebaseのダミーデータをListに渡そうとしています。スナップショットを使用して、データをフェッチされたデータと呼ばれる変数にフェッチし、データをリストに渡します。しかし、私はスナップショットをDataContentにキャストします。指定されたキャストは無効です。私のキャストはなぜ機能しないのですか?Firebaseはユニークなキャスト方法を持っていますか?firebaseからリストへのdatasnaphotの変換<Array> - Xamarin.Droid

は、ここで私は指定されたキャストは有効ではありません得る私のコード

List<DataContent>DisplayData = new List <DataContent>(); 

protected override void OnCreate(Bundle savedInstanceState) 
     { 
      base.OnCreate(savedInstanceState); 

      SetContentView(Resource.Layout.myView); 

      firebase = new FirebaseClient(FirebaseUrl); 

      mAuth = FirebaseAuth.Instance; 
      mLike = FirebaseDatabase.Instance.Reference.Child("Table"); 

      mDatabase.AddValueEventListener(this); 
      mDatabase.KeepSynced(true); 




     public void OnCancelled(DatabaseError error) 
     { 
      throw new NotImplementedException(); 
     } 

     public void OnDataChange(DataSnapshot snapshot) 
     { 
      var fireBaseData = snapshot.Child(postBlogKeyId); 

       DisplayData.Add((DataContent)fireBaseData); 

     } 
+0

私はおそらくXamarinにJava論理を変換するのが気になるので – LearnXamarin

答えて

0

の少しの部分です。私のキャストはなぜ機能しないのですか?Firebaseはユニークなキャスト方法を持っていますか?

まず、snapshot.Child(postBlogKeyId)の下のリストではなく、オブジェクトであることを確認してください。

第2に、snapshot.Child(postBlogKeyId)によって、データコンテンツのラッパーであるDataSnapShotオブジェクトが得られます。データコンテンツを取得するには、snapshot.Child(postBlogKeyId).Valueを使用する必要があります。

まだ動作しない場合は、snapshot.ToString()をデバッグし、その結果を投稿してください。

関連する問題