首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黑莓BrowserField handleNavigationRequest拦截

黑莓BrowserField handleNavigationRequest拦截
EN

Stack Overflow用户
提问于 2011-12-08 16:14:02
回答 1查看 834关注 0票数 1

当我尝试下面的代码时,它阻塞了UI线程(我想),它加载了一个空白页面。谁能告诉我实现handleNavigationRequest的正确方法是什么?我尝试实现它,但当我尝试运行时,我得到一个错误,即handleNavigationRequest必须是一个接口。

下面是代码

代码语言:javascript
复制
class BrowserFieldScreen extends MainScreen 
    {  
        public BrowserFieldScreen()

        {   
            BrowserFieldConfig browserFieldConfig = new BrowserFC();
            BrowserFieldListener browserFieldListener = new BrowserFL();                
            BrowserField browserField = new BrowserField(browserFieldConfig);
            browserField.addListener(browserFieldListener);         
            ProtocolController controller = new ProtocolController(browserField) {
                public void handleNavigationRequest(BrowserFieldRequest request) throws Exception {


                   }
                };
            browserField.getConfig().setProperty(BrowserFieldConfig.CONTROLLER, controller);
            browserField.requestContent("http://meul-online.com");
            super.add(browserField);
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-08 16:29:44

问题是您正在请求页面,而不是显示它。

尝尝这个

代码语言:javascript
复制
    /**
 * Handle navigation requests (e.g., link clicks)
 */
public void handleNavigationRequest(final BrowserFieldRequest request) throws Exception {
    try {
        final InputConnection ic = handleResourceRequest(request);
        UiApplication.getUiApplication().invokeLater(new Runnable() {

            public void run() {
                browserField.setFocus();
                browserField.displayContent(ic, request.getURL());  
            }
        });
    } catch (Exception e) { 
        Log.Error(e, "handleNavigationRequest");
    }

}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8427997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档