我还没有在GWT
中使用Constants
接口,并且我在运行示例CellTable时遇到问题。延迟绑定失败,中心错误消息为:"未找到contactDataBaseCategories的资源"。contactDataBaseCategories
是在接口DataBaseConstants
中定义的方法,并返回字符串数组。我怀疑我必须创建一个属性(txt?)文件来定义类别,但我不确定,因为我是第一次遇到这种情况。如何正确地运行CellTable
的示例?
更新:我在声明接口的同一个包中创建了ContactDatabase.DatabaseConstants.properties文件,我在文件中添加了行:
contactDataBaseCategories=好友,coWorkers,其他
但它仍然不起作用。错误再次出现:"找不到contactDataBaseCategories的资源",然后是
"com.al.celltablöeeexample.ContactDatabase.DatabaseConstants的延迟绑定失败".
出了什么问题?
就是这样做的
常量接口
public interface DataBaseConstants extends Constants
{
@Key("contact-database-categories")
String contactDataBaseCategories();
}
属性文件。DataBaseConstants.properties
contact-database-categories = "Your String"
你可以使用
public DataBaseConstants dbConstant= GWT.create( DataBaseConstants .class );
dbConstant.contactDataBaseCategories();
已编辑如果你想传递字符串数组,那么你可以这样做
@DefaultStringArrayValue({"cat1", "cat2", "cat3", "cat4", "cat5"})
String[] contactDataBaseCategories();
有关常数的更多信息
我终于管理好了。问题是它找不到资源/文件:ContactDatabase.DatabaseConstants.properties
。我已经将它更改为DatabaseConstants.properties
,并将内部接口删除到它自己的文件中。与我在CwCellTable
类中在接口CwConstants
上所做的相同。此外,在示例页面中,CwConstants
接口的实例化被遗漏,必须(在构造函数中)也这样做,就像在ContactDatabase
类中一样。
只需添加到Dilandha的答案中,就可以设置
contact-database-categories = Family, Friends, Coworkers, Businesses, Contacts
以符合该示例。
提示:为了使示例工作,在CwCellList中创建一个成本构造器,并添加以下内容:
initWidget(onInitialize());