Codenameone Webbrowser问题

时间:2014-03-11 03:55:24

标签: browser codenameone

我正在尝试显示codenameone应用程序的网页。它在Iphone中运行良好,但在移动设备中没有。

public void showLoginForm()
{
    final Form loginForm = new Form("Login");
    loginForm.setUIID("Form1");
    loginForm.setLayout(new BorderLayout());
    loginForm.setScrollable(false);

    try
    {
        WebBrowser browser = new WebBrowser()
        {
//Overrides onStart and onLoad methods to load progress bars for page transitions.
        };

        browser.setURL(appsGlobalSettings.get(URL_KEY));
        loginForm.addComponent(BorderLayout.CENTER,browser);
        loginForm.show();

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }   

}

2 个答案:

答案 0 :(得分:0)

检查您的网址。我建议删除覆盖代码并将Google.com硬编码为URL并从那里继续。由于它在模拟器中不起作用,或者确保使用Java 7并启用了JavaFX,在这种情况下它应该显示一个浏览器,并且应该适用于正确的Web地址。

答案 1 :(得分:0)

Shai ......收集设备日志需要一些时间。

但即便如此也很有趣。

我试过两种方式

  1. WebBrowser类和http://www.google.co.in中没有重写的方法作为URL。

    public void showLoginForm()
    {
    InfiniteProgress inf = new InfiniteProgress();
    Dialog progress = inf.showInifiniteBlocking();
    final Form loginForm = new Form("Login");
    loginForm.setUIID("Form1");
    loginForm.setLayout(new BorderLayout());    
    
    try
    {
        //Log.p("Inside showLoginForm method");
        WebBrowser browser = new WebBrowser()
        {
    
        };
        //browser.setURL(appsGlobalSettings.get(URL_KEY));
        browser.setURL("http://www.google.co.in");
        //Log.p("Set Broswer url");
        loginForm.addComponent(BorderLayout.CENTER,browser);
        //Log.sendLog();
        loginForm.show();
    }
    catch(Exception e)
    {
        e.printStackTrace();
        //Log.p(e.toString());
    }       
    

    }

  2. 结果 - 相同的空白屏幕。

    1. 添加了Log.p和Log.send()语句的相同代码。
    2. 结果 - 工作正常

      这是由于某些竞争条件造成的吗?