2011-09-30 31 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