0

我的行动是“找到”。对象是:'情人节'。但在属性字段中,我的对象名称是 'Reference' 类型的 'valentine_' 。

现在,我正在尝试使用 ANDROID 发布“查找”操作,该操作会给出错误消息:“您尝试发布的操作无效,因为它没有指定任何引用对象。必须至少指定以下属性之一: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_);
    }

有人可以帮我解决这个问题。快速帮助将不胜感激。谢谢

4

1 回答 1

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_);
}
于 2013-02-04T17:46:23.647 回答