我试图找出我的Box驱动器中每个文件的大小,以便在我的列表适配器中显示它,就像它在官方Box Android应用程序中显示的那样。
这是我的代码段:
BoxTypedObject item = getItem(position);
if (item instanceof BoxAndroidFile) {
BoxAndroidFile file = (BoxAndroidFile) item;
Log.d(TAG, "file.getsize=" + file.getSize());
}
该文件有效,file.getName()工作正常。 但是,file.getSize()始终返回null。
我使用正确的API还是以正确的方式使用它?
答案 0 :(得分:0)
要控制字段填充,必须使用requestObject参数。 看https://stackoverflow.com/a/17352838/3083204
答案 1 :(得分:0)
因为在调用getFolderItems()调用获取文件夹信息时没有指定size字段。
您可以尝试以下代码段。
final ArrayList<String> itemFields = new ArrayList<String>();
itemFields.add(BoxAndroidFile.FIELD_NAME);
itemFields.add(BoxAndroidFile.FIELD_SIZE);
itemFields.add(BoxAndroidFile.FIELD_EXTENSION);
itemFields.add(BoxAndroidFile.FIELD_PARENT);
final BoxPagingRequestObject obj = BoxPagingRequestObject
.pagingRequestObject(limit, offset);
obj.getRequestExtras().addFields(itemFields);
final BoxAndroidCollection bc = (BoxAndroidCollection) boxClient
.getFoldersManager().getFolderItems(mTargetFolderId, obj);