我今天刚开始使用firebase。我正在尝试将firebase中的虚拟数据传递给List。使用快照,我将我的数据提取到一个名为fetched data的变量中,并将我的数据传递给List。但是,我将快照转换为DataContent。我得到指定的演员无效。为什么我的演员不工作,Firebase有一种独特的演员方式?
这是我的代码的一小部分
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 :(得分:0)
我得到指定的演员无效。为什么我的演员不工作,Firebase有一种独特的演员方式?
首先,请确保它是一个对象,而不是snapshot.Child(postBlogKeyId)
下的列表。
其次,通过snapshot.Child(postBlogKeyId)
,您获得了一个DataSnapShot
对象,它是数据内容的包装器,您需要使用snapshot.Child(postBlogKeyId).Value
来获取数据内容。
如果仍然无效,请调试snapshot.ToString()
并发布结果。