0
我想添加一个浏览器字段到我的主屏幕上。目前,我有:黑莓使用UIApplication与MainScreen
public class BrowserFieldDemo extends UiApplication {
private MainScreen _browserScreen;
private BrowserField _bf2;
private BrowserFieldConfig _bfConfig;
public BrowserFieldDemo(final String url) {
_browserScreen = new MainScreen();
_bfConfig = new BrowserFieldConfig();
_bfConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,
BrowserFieldConfig.NAVIGATION_MODE_POINTER);
_bfConfig.setProperty(BrowserFieldConfig.JAVASCRIPT_ENABLED,
Boolean.TRUE);
_bf2 = new BrowserField(_bfConfig);
_browserScreen.add(_bf2);
invokeLater(new Runnable() {
public void run() {
_bf2.requestContent(url);
pushScreen(_browserScreen);
}
});
}
}
什么是浏览器插入到进入主屏幕类的正确方法,其中包括UI元素?例如,添加(myBrowserField)?我不确定如何建立BrowserFieldDemo类要做到这一点,因为我需要延长的UIApplication为主题...
public class LoginScreen extends MainScreen implements FieldChangeListener{}
谢谢!
更新:
我现在有以下几点:
public class LoginBrowserField extends Thread {
private LoginScreen loginScreen;
private String url;
public LoginBrowserField(String url, LoginScreen loginScreen) {
this.loginScreen = loginScreen;
this.url = url;
}
public void run() {
synchronized (UiApplication.getEventLock()) {
loginScreen.changeURL(url);
}
}
}
public class LoginScreen extends MainScreen implements FieldChangeListener {
public void changeURL(final String url) {
_bf2.requestContent(url);
_bf2.setFocus();
}
}
并启动浏览器,我打电话(在LoginScreen):
LoginBrowserField browser = new LoginBrowserField(url, this);
browser.start();
不过,我不知道我上面的设置是否正确,因为浏览器在应用程序中花费很长时间,并且它没有t正确解析我的网址。你能看到什么是错的吗?
谢谢!
感谢您的帮助,Marc!我上面更新了我的帖子,你可以检查一下吗?我做了你的建议,但我不确定是否正确实施,因为浏览器错误地解决了页面,速度很慢......谢谢! – littleK 2010-01-27 00:15:14
您可能想要查看RIM开发人员工具附带的示例应用程序中的Browser Field Demo。它演示了如何使用该字段以及如何设置资源获取线程。 – 2010-01-27 18:25:39
我以这种方式工作,它的工作 谢谢!!!!!!!!!!!! – Swati 2010-01-30 12:12:03