내 메인 스크린에 브라우저 필드를 추가하려고합니다. 현재, 내가 가지고있는 것 :메인 스크린과 함께 UIApplication을 사용하는 BlackBerry
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 요소 중에서 브라우저를 메인 스크린 클래스에 삽입하는 올바른 방법은 무엇입니까? 예를 들어, add (myBrowserField)? 나는 ...
public class LoginScreen extends MainScreen implements FieldChangeListener{}
덕분에 내가 스레드에 대한 UIApplication을 확장 할 필요가 있기 때문에,이 작업을 수행 할 수있는 BrowserFieldDemo 클래스를 설정하는 방법을 확실 해요!
업데이트 :
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();
를, 나는 위의 설정이 정확한지 확신 할 수 없습니다. 브라우저가 응용 프로그램에 표시되는 데 실제로 시간이 오래 걸리므로 내 URL을 올바르게 해결하십시오. 틀린 것을 볼 수 있습니까?
감사합니다.
도와 줘서 고마워, 마크! 위의 게시물을 업데이트했습니다. 체크 아웃 할 수 있습니까? 나는 당신이 제안한 것을했지만 브라우저가 페이지를 잘못 그리고 매우 천천히 해결하고 있기 때문에 올바르게 구현했는지 확신 할 수 없다. 고마워! – littleK
RIM 개발자 도구와 함께 제공되는 샘플 애플리케이션에서 브라우저 필드 데모를 확인하십시오. 필드를 사용하는 방법과 리소스 페치 스레드를 설정하는 방법을 보여줍니다. –
나는이 방법으로 일했고 효과가 있었다. 고마워요 !!!!!!!!!!!! – Swati