当我尝试下面的代码时,它阻塞了UI线程(我想),它加载了一个空白页面。谁能告诉我实现handleNavigationRequest的正确方法是什么?我尝试实现它,但当我尝试运行时,我得到一个错误,即handleNavigationRequest必须是一个接口。
下面是代码
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);
}发布于 2011-12-08 16:29:44
问题是您正在请求页面,而不是显示它。
尝尝这个
/**
* 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");
}
}https://stackoverflow.com/questions/8427997
复制相似问题