0
我想显示加载网页的进度。我使用BrowserFieldListener来计算网页的进度。但屏幕上没有显示。我如何计算这一进展的百分比?计算加载黑莓网页的进度
类BrowserFieldDemoScreen扩展MainScreen {
public BrowserFieldDemoScreen()
{
BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig();
myBrowserFieldConfig.setProperty(BrowserFieldConfig
.NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER);
BrowserField browserField = new BrowserField();
browserField.requestContent("http://www.blackberry.com");
browserField.addListener(new BrowserFieldListener() {
public void documentAborted(BrowserField browserField, Document document) throws Exception
{
if ((browserField != null) && (document != null))
{
String title = browserField.getDocumentTitle();
String url = document.getBaseURI();
browserField.getErrorHandler().displayContentError(url, "Aborted loading document '" + title + "'");
}
super.documentAborted(browserField, document);
}
public void documentCreated(BrowserField browserField, ScriptEngine scriptEngine, Document document) throws Exception
{
if ((browserField != null) && (document != null))
{
String title = browserField.getDocumentTitle();
String url = document.getBaseURI();
System.out.println("[" + this.getClass().getName() + "] Document '" + title + "' created for URL " + url);
}
super.documentCreated(browserField, scriptEngine, document);
}
/**
*
* @param browserField - The BrowserField to which the document belongs
* @param document - The document for which this event belongs.
*/
public void documentError(BrowserField browserField, Document document) throws Exception
{
if ((browserField != null) && (document != null))
{
String title = browserField.getDocumentTitle();
String url = document.getBaseURI();
browserField.getErrorHandler().displayContentError(url, "Error loading document '" + title + "'");
}
super.documentError(browserField, document);
}
public void documentLoaded(BrowserField browserField, Document document) throws Exception
{
if ((browserField != null) && (document != null))
{
String title = browserField.getDocumentTitle();
System.out.println("[" + this.getClass().getName() + "] Document '" + title + "' loaded");
}
super.documentLoaded(browserField, document);
}
public void documentUnloading(BrowserField browserField, Document document) throws Exception
{
if ((browserField != null) && (document != null))
{
String title = browserField.getDocumentTitle();
System.out.println("[" + this.getClass().getName() + "] Document '" + title + "' unloading");
}
super.documentUnloading(browserField, document);
}
public void downloadProgress(BrowserField browserField, ContentReadEvent event) throws Exception
{
if ((browserField != null) && (event != null))
{
String title = browserField.getDocumentTitle();
double amtComplete = event.getItemsRead()/event.getItemsToRead();
System.out.println("[" + this.getClass().getName() + "] Document '" + title + "' loading " + String.valueOf(amtComplete) + "% complete");
}
super.downloadProgress(browserField, event);
}});
}
}
看我的编辑你能告诉我什么问题 – mobileDeveloper
示例代码只打印控制台的当前进度。您需要重写'downloadProgress'方法来更新进度条。 我在黑莓支持论坛上发现了一个例子[here](http://supportforums.blackberry.com/t5/Java-Development/How-to-track-progress-of-page-loads-in-您-BrowserField2/TA-p/617436)。 –
我看到这个链接时,我尝试它的网页没有显示,进度是0,当我点击输入时, – mobileDeveloper