2011-09-30 65 views
0

當我點擊一個按鈕,在下一個屏幕我已經加載browserfield requestcontent()使用線程。如何停止Browserfield requestContent()方法,當返回到mainScreen在黑莓

我添加了browserfield監聽器。

當點擊返回按鈕,我來到第一個屏幕。但在後臺,requestContent正在執行。如何阻止它。?

我寫的OnClose()方法

public boolean onClose() 
{ 
for(int i=0;i<=Thread.activeCount();i++) 
    { 
     if(Thread.currentThread().isAlive()) 
     { 
      Thread.currentThread().interrupt(); 
     } 
    } 
return super.onClose(); 
} 

我的代碼,該代碼,

 new Thread(new Runnable() 
     { 
      public void run() 
      { 
       loadWebContent(path); 
      } 
     }).start(); 

private void loadWebContent(String path) 
{ 

    final VerticalFieldManager vfm = new VerticalFieldManager(HORIZONTAL_SCROLL|VERTICAL_SCROLL) 
    { 
     protected void sublayout(int maxWidth, int maxHeight) 
     { 

      super.sublayout(maxWidth, (Display.getHeight()-47)); 
      setExtent(maxWidth, (Display.getHeight()-47)); 

     } 
    }; 

    BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig(); 

    myBrowserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER); 


    myBrowserField = new BrowserField(myBrowserFieldConfig); 


    myBrowserField.addListener(new BrowserFieldListener() 
    { 
     public void documentLoaded(BrowserField browserField,Document document) throws Exception 
     { 

      UiApplication.getApplication().invokeLater(new Runnable() 
      { 
       public void run() 
       { 
        try 
        { 


         mainlayout.delete(spinner); 
         mainlayout.add(myBrowserField); 
                       myBrowserField.setZoomScale(1.0f); 

        } 
        catch (Exception e) 
        { 
         System.out.println("++ "+e); 
        } 
       } 
      }); 
     } 
    }); 

myBrowserField.requestContent(path); 

} 

請幫助如何在回第一個畫面停止執行。

回答

0

我覺得這就夠了:

public class LoadingScreen extends MainScreen 
{ 
    ButtonField click; 
    String url; 
    BrowserField browserField; 
    public LoadingScreen() 
    { 
     url="http://www.google.com"; 
    browserField=new BrowserField();   
    add(browserField);    
    browserField.requestContent(url); 
    } 
} 

在的OnClose方法:

public boolean onClose() 
{  
    return super.close(); 
} 

如果您有任何doubbts來吧命名爲 「知識共享中心,爲黑莓和Java」 到聊天室澄清你和我們的疑惑。

+0

直到在browserfield上加載頁面,我才顯示微調。多數民衆贊成在所以我添加了監聽方法。 – RVG