代号为一个BrowserComponent setBrowserNavigationCallback

时间:2013-12-12 08:36:02

标签: java codenameone

我正在尝试使用

  

setBrowserNavigationCallback

BrowserComponent从html页面调用java方法的方法。

这就是我在java中所拥有的:

            map_browser = (BrowserComponent) this.getInternal();                
            map_browser.setBrowserNavigationCallback(new BrowserNavigationCallback() {                    
                public boolean shouldNavigate(String url) {
                    System.out.println("in here::" + url);
                    if (url.startsWith("http://getproperties")) {
                        System.out.println("get properties from java code 1");                            
                        return false;
                    } else {
                        return true;
                    }
                }
            });

html上的代码是:

 <a href="http://getproperties">Load</a>

这很好用。当我点击Load时,会调用shouldNavigate()。

然而,这仅适用一次。如果我再次单击“加载”,则没有任何反应......

这是预期的行为吗?

如果是,从javascript多次调用java函数的最佳方法是什么?

我做错了吗?

BR, SANKET

1 个答案:

答案 0 :(得分:0)

这会导致浏览器的位置发生变化,这意味着不会发生进一步的导航。尝试使用myprotocol:// getproperties,它不会进入浏览器的位置,应该重复触发。