0

警告 2 部分问题:我在应用程序中使用Gwt Google Picker 。

  1. 在尝试取回结果时,我遇到了一个错误,这是我的代码:

    private final static String appId = "ViDemantay";
    private final static AppUser appUser = GWT.create(AppUser.class);
    private static HandlesMedia handler;
    private static GooglePickerCell pickerCell;
    private final static AbstractPickerCallback callback = new AbstractPickerCallback(){
    
    
    
        @Override
        public void onCanceled() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void onPicked(ViewToken viewToken, BaseResult result) {
            $.console.log(result);
            DocumentResult docs = result.<DocumentResult>cast();
            String mediaUrl = docs.getDocs().get(0).getEmbedUrl();
            String thumbnail = docs.getDocs().get(0).getThumbnails().get(0).getUrl();
            handler.setMediaUrl(thumbnail);
            handler.setMediaUrl(mediaUrl);
            $.console.log("The handler is " + handler);
            pickerCell.setValue(null, null, handler);
    
    
        }}; ///////////end callback////////////////////////////
    
        private static  Picker picker;
    
        public static void get(){PickerLoader.loadApi(apiKey, new Runnable(){
    
            @Override
            public void run() {
    
                appUser.load($(window).prop("appUser"));
                picker = PickerBuilder.create().addCallback(callback).setAppId(appId)
                        .setAuthUser(appUser.getAcctId()).setOAuthToken(appUser.getAuthToken())
                        .addView(ViewId.DOCS).addView(ViewId.YOUTUBE)
                        .hideTitleBar().build();
                picker.setVisible(false);
            }});}
    

似乎从未在浏览器的控制台上回调回调我收到此错误:

TypeError: this$static_0_g$ is undefined

这是选择文件后执行的操作......但没有结果。

  1. 我正在尝试在 Gwt 数据网格中使用 Picker。我试图创建一个 GooglePickerCell 但可惜,我在让事情正常工作时遇到了一点麻烦。有没有人已经实现了这样的东西?很想看到一些接线。这就是我所做的:重新考虑这篇文章已经足够长了。
4

1 回答 1

0

所以我的问题是我的回调是 final 和 static 。一旦我改变它两个匿名类都是肉汁:应该是

picker = PickerBuilder.create().addCallback( new AbstractPickerCallback(){



@Override
public void onCanceled() {
    // TODO Auto-generated method stub

}

@Override
public void onPicked(ViewToken viewToken, BaseResult result) {
    $.console.log(result);
    DocumentResult docs = result.<DocumentResult>cast();
    String mediaUrl = docs.getDocs().get(0).getEmbedUrl();
    String thumbnail = docs.getDocs().get(0).getThumbnails().get(0).getUrl();
    handler.setMediaUrl(thumbnail);
    handler.setMediaUrl(mediaUrl);
    $.console.log("The handler is " + handler);
    pickerCell.setValue(null, null, handler);


}})
.setAppId(appId)
                .setAuthUser(appUser.getAcctId()).setOAuthToken(appUser.getAuthToken())
                .addView(ViewId.DOCS).addView(ViewId.YOUTUBE)
                .hideTitleBar().build();
        picker.setVisible(false);

所以现在结果又回来了……注意总是检查结果 url 或缩略图上的 null。

就第二部分而言,我将研究 EditableCell 实现,因为单元格值已更改但客户端未更新。

于 2015-01-22T08:17:08.367 回答