HTML и веб-браузер

Я попытался использовать html-страницу в своем коде, для этого я нашел способ из приложения kichensink, я использую тот же код и тот же файл page.html, работающий на симуляторе, но не работающий на устройствах. На устройствах у меня пустой экран. Ниже мой код. Пожалуйста помоги мне с этим.

void ShowForm()
{
    Form f = new Form("testweb");
    Container cnt = new Container(new BorderLayout());
    cnt = createDemo();
    f.setLayout(new BorderLayout());
    f.addComponent(BorderLayout.CENTER, cnt);
    f.show();
}

public Container createDemo() {
    Container cnt = new Container(new BorderLayout());
    final WebBrowser wb = new WebBrowser();
    if(wb.getInternal() instanceof BrowserComponent) {
        Button btn = new Button("Add");
        final TextArea content = new TextArea();
        Container north = new Container(new BorderLayout());
        north.addComponent(BorderLayout.CENTER, content);
        north.addComponent(BorderLayout.EAST, btn);
        cnt.addComponent(BorderLayout.NORTH, north);
        content.setHint("Add to web document");
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                ((BrowserComponent)wb.getInternal()).execute("fnc('" + content.getText() + "');");
            }
        });
        ((BrowserComponent)wb.getInternal()).setBrowserNavigationCallback(new BrowserNavigationCallback() {
            public boolean shouldNavigate(String url) {
                if(url.startsWith("http://sayhello")) {
                    // warning!!! This is not on the EDT and this method MUST return immediately!
                    Display.getInstance().callSerially(new Runnable() {
                        public void run() {
                            ((BrowserComponent)wb.getInternal()).execute("fnc('this was written by Java code!');");
                        }
                    });
                    return false;
                }
                return true;
            }
        });
    }

    cnt.addComponent(BorderLayout.CENTER, wb);
    wb.setURL("jar:///page.html");
    return cnt;
}

Привет, я сделал несколько изменений setlayout для контейнера и добавил в другой контейнер с возможностью прокрутки true для контейнера и прокруткой false для формы, но теперь это дает мне ошибку на устройствах, и ошибка: «веб-страница недоступна» page.html не найден. Принимая во внимание, что page.html уже помещен в src с файлом .res, и приложение на симуляторе работает нормально.

С уважением, Джени


person jeny    schedule 06.04.2013    source источник
comment
На самом деле он показывает cnt.addComponent(BorderLayout.NORTH, north); до этого, но в центре зелья, когда мы добавляем веб-браузер (cnt.addComponent(BorderLayout.CENTER, wb);), эта часть не появляется на экране, она просто показывает одну белую линию.   -  person jeny    schedule 06.04.2013


Ответы (1)


Вы не можете сделать макет границы прокручиваемым, включая вложенные прокручиваемые элементы и синхронную прокрутку виджетов + кодовое имя One, вероятно, не очень хорошая идея.

На каком устройстве у вас возникла проблема? Была проблема с компонентом браузера на Android для некоторых вариантов использования, теперь она исправлена.

person Shai Almog    schedule 06.04.2013
comment
Привет, Алмонг, я использую сборку Android для своих устройств Android (Samsung GT-I5801). Пожалуйста, дайте мне знать, как я могу исправить эту проблему, так как она дает мне ошибку для страницы.htm не найден. - person jeny; 08.04.2013
comment
Кажется, у вас есть строчная буква p в вашем URL-адресе, проверьте регистр вашего имени файла. - person Shai Almog; 09.04.2013