何かを行うスレッドを (ボタンをクリックした後に) 開始し、いくつかの変数を取得してから、それらの変数を表示する画面をプッシュするアプリが必要です。問題は、画面がそのスレッドを待つことができないことです。アプリを実行するたびに、新しい画面を更新して変数の値を確認する必要があります。どのように対処すればよいですか?メソッドを使用しましたinvokeLater()
が、うまくいかないようです。
これが私の最初の画面のコードです:
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
public class MyScreen extends MainScreen implements FieldChangeListener
{
public MyScreen()
{
super();
setTitle("MyScreen!");
ButtonField bf = new ButtonField("Start thread", ButtonField.CONSUME_CLICK) ;
this.add(bf);
bf.setChangeListener(this);
}
public void fieldChanged(Field Field, int context) {
MyThreadClass myThread = new MyThreadClass();
myThread.start();
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
UiApplication.getUiApplication().pushScreen(new NewScreen());
}
});
}
}
どこで私は間違えましたか?