ボタンクリックで画面をナビゲートする方法 前後には2つのボタンがあります。 前のボタンをクリックすると、screan1が表示され、次にnextを押すと、screan2が表示されます。ブラックベリーの画面
0
A
答えて
1
これを行うにはいくつかの方法があります。
1)ボタンを押したときに、新しい画面を作成してスタックにプッシュしてから、古い画面を削除して、次のいずれかを実行します。ごみを収集する。または
2)ボタンを押したときに、そのボタンの画面がすでにスタックに存在するかどうかを判断し、前面に移動するか、上記のように新しいものを作成します。この場合、画面を削除する必要はありませんが、複雑な画面がたくさんある場合、リソースが不足する可能性があります。
参照:net.rim.device.api.ui.UiApplication.pushScreen(画面の画面)とnet.rim.device.api.ui.UiApplication.popScreen(スクリーン画面)
0
ここでは単純な実装があります:
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.MainScreen;
public class NavigateScreen extends MainScreen implements FieldChangeListener {
private ButtonField previousButton;
private ButtonField nextButton;
public NavigateScreen() {
add(new LabelField("Some content"));
previousButton = new ButtonField("Previous", ButtonField.CONSUME_CLICK);
previousButton.setChangeListener(this);
nextButton = new ButtonField("Next", ButtonField.CONSUME_CLICK);
nextButton.setChangeListener(this);
add(previousButton);
add(nextButton);
}
public void fieldChanged(Field field, int context) {
if (field == previousButton) {
UiApplication.getUiApplication().popScreen(NavigateScreen.this);
UiApplication.getUiApplication().pushScreen(new PreviousScreen());
}
if (field == nextButton) {
UiApplication.getUiApplication().popScreen(NavigateScreen.this);
UiApplication.getUiApplication().pushScreen(new NextScreen());
}
}
}
0
こんにちは、画面間を非常にeaslyに切り替えるためにSwitchScreenControllerクラスを作成しました。
public class SwitchScreenController {
public void switchHomeScreen() {
}
public void switchToHomeScreen() {
//UiApplication.getUiApplication().pushScreen(new HomeScreen());
}
public void switchToProgressingScreen() {
}
public void switchToNextScreen(MainScreen targetScreen) {
UiApplication.getUiApplication().pushScreen(targetScreen);
}
public void switchToPreviousScreen() {
UiApplication.getUiApplication().popScreen(
UiApplication.getUiApplication().getActiveScreen());
}
}
このような場所であればどこでも使用できます。あなたは
new SwitchScreenController().switchToNextScreen(new NextScreen());
を使用して
new SwitchScreenController().switchToPreviousScreen();
と次の画面に戻ってを使用して行くことができます
new
public class SwitchScreenController {
public void switchHomeScreen() {
}
public void switchToHomeScreen() {
//UiApplication.getUiApplication().pushScreen(new HomeScreen());
}
public void switchToProgressingScreen() {
}
public void switchToNextScreen(MainScreen targetScreen) {
UiApplication.getUiApplication().pushScreen(targetScreen);
}
public void switchToPreviousScreen() {
UiApplication.getUiApplication().popScreen(
UiApplication.getUiApplication().getActiveScreen());
}
}