Reputation: 367
I want to pass the value of a LocalURL to another Screen. I have tried this but all I get is blank Screen: BlackBerry - how to pass data like Intent.putExtra() in Android
Like in android:
(In Screen1)
WebView webView;
webView = (WebView) findViewById(R.id.webView);
Bundle extras = getIntent().getExtras();
String value = "file:///android_asset/errorpage.html";
if (extras != null) {
value = extras.getString("keyHTML");
}
and (in Screen2)
Intent i = new Intent(this, Screen1.class);
i.putExtra("keyHTML", "file:///android_asset/page2.html");
startActivity(i);
How do I implement something like this in Blackberry, I currently use:
BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig();
myBrowserFieldConfig.setProperty(
BrowserFieldConfig.NAVIGATION_MODE,
BrowserFieldConfig.NAVIGATION_MODE_POINTER);
BrowserField browserField = new BrowserField(
myBrowserFieldConfig);
sscreen = new MainScreen();
sscreen.add(browserField);
if (name.equals("Santa Claus")) {
Ui.getUiEngine().pushScreen(sscreen);
browserField.requestContent("local:///santa.html");
} else if (name.equals("Christmas")) {
Ui.getUiEngine().pushScreen(sscreen);
browserField.requestContent("local:///christmas.html");
But I see it takes a while before it displays the HTML, I thought if I could pass data as it is in android, then it would open faster.
EDIT
in NewScreen
public NewScreen(String url) {
BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig();
myBrowserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,
BrowserFieldConfig.NAVIGATION_MODE_POINTER);
BrowserField browserField = new BrowserField(myBrowserFieldConfig);
add(browserField);
url = "local:///errorpage.html";
browserField.requestContent(url);
}
in OldScreen
if (check.equals("1") || check.equals("001")) {
NewScreen newscreen = new NewScreen("local:///page1.html");
UiApplication.getUiApplication().pushScreen(newscreen);
The NewScreen is pushed but still shows the default value "url = "local:///errorpage.html";" I thought it ought to change to the new value set in OldScreen "local:///page1.html" when run. Please explain.
Upvotes: 0
Views: 129
Reputation: 4158
try this -
new_screen = new new_screen(your_url);
UiApplication.getUiApplication().pushScreen(new_screen);
In your new_screen class -
public class new_screen extends MainScreen{
public new_screen(String url){
//here you will get the value of url from the variable url.
}
}
Upvotes: 1