2014-06-19 56 views
0

我想顯示作爲字符串的html格式的文本。 WebBroswer組件是否支持此? 如果是,使用什麼方法? 謝謝, SANKET在codenameone中顯示html文本

代碼:

private void loadCourseDesc() { 
    Container courseDescContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS)); 
    NETextArea title = new NETextArea(AppState.current_Course.getTitle()); 
    title.setUIID("biggreylabel"); 
    courseDescContainer.addComponent(title); 
    Container c1 = new Container(new BoxLayout(BoxLayout.X_AXIS)); 
    Label l = new Label("Fees:" + AppState.current_Course.getFees()); 
    l.setUIID("mgreylabel"); 
    c1.addComponent(l); 
    Label l1 = new Label("Completion Date:" + AppState.current_Course.getExpiryDate()); 
    l1.setUIID("mgreylabelLM"); 
    c1.addComponent(l1); 
    courseDescContainer.addComponent(c1); 
    WebBrowser wb = new WebBrowser(){ 

     @Override 
     public void onLoad(String url) { 
      super.onLoad(url); //To change body of generated methods, choose Tools | Templates. 
      instance.forceRevalidate(); 
     } 

    }; 
    wb.setScrollableY(true); 
    System.out.println("::---" + AppState.current_Course.getDesc()); 

    wb.setPage(AppState.current_Course.getDesc(), "http://localhost/"); 
    courseDescContainer.addComponent(wb); 
    replace(courseDescContainer); 

代碼替換:

private void replace(final Container c) { 
    Display.getInstance().callSerially(new Runnable() { 

     public void run() { 
      instance.replaceAndWait(currentCentre, c, null); 
      currentCentre = c; 
      instance.forceRevalidate(); 
     } 
    }); 

} 

回答

0

它支持它通過添加組件放入容器中,設置HTML,而不是一個URL的只是使用setPage而不是setURL

+0

我實際上使用setPage,但它不工作。包含Web瀏覽器組件的基本容器使用淡入淡出轉換呈現。我刪除了過渡並開始工作。我如何在轉換過程中使用它。我用源代碼編輯了這個問題。 – sanket

+0

此外,它在模擬器上工作,但不在電話上。我正在測試MotoX。它只是顯示空白。 – sanket

+0

您使用的佈局是什麼?你確定HTML對設備有效嗎?設備對HTML內容的敏感程度要遠遠高於桌面設備。 –