我的行动是“找到”。对象是:'情人'。但是在属性字段中,我的对象名称是'Reference'类型的'valentine_'。
现在,我正在尝试使用ANDROID发布'find'操作,它会显示错误消息: “您尝试发布的操作无效,因为它未指定任何引用对象。必须至少指定以下属性之一:valentine_”
我的代码:
private interface ValentineGraphObject extends GraphObject{
public String getUrl();
public void setUrl(String url);
public String getId();
public void setId(String id);
}
private interface FindAction extends OpenGraphAction{
// The valentine object
public ValentineGraphObject getValentine();
public void setValentine(ValentineGraphObject valentine_);
}
protected void populateOGAction(OpenGraphAction action) {
FindAction findaction = action.cast(FindAction.class);
ValentineGraphObject valentine_ =GraphObject.Factory.create(ValentineGraphObject.class);
valentine_.setUrl("http://milliondollarsapps.com/Kunal/valen.html");
findaction.setValentine(valentine_);
}
有些人可以帮我解决这个问题。 快速帮助将不胜感激。 感谢
答案 0 :(得分:1)
这里的问题是你的FindAction接口上的属性(setValentine,并被转换为“valentine”)不匹配,以及你的OG动作中的属性(“valentine _”)。
有两种方法可以解决这个问题:
一个。而不是使用findaction.setValentine(...)做:
findaction.setProperty("valentine_", valentine_);
湾在setValentine方法上使用PropertyName注释:
private interface FindAction extends OpenGraphAction{
// The valentine object
public ValentineGraphObject getValentine();
@PropertyName("valentine_")
public void setValentine(ValentineGraphObject valentine_);
}