CheckIn
화면에 구현 된 보내기 버튼에 대한 수신기가있는 BlackBerry App이 있습니다. 데이터는 웹 서비스를 통해 전송됩니다. 데이터가 성공적으로 전송되면 "OK"라는 확인 메시지가 수신됩니다. 받은 응답에 따라 BlackBerry App에서 화면을 전환하려고합니다.BlackBerry의 화면 전환
FieldChangeListener sendBtnListener = new FieldChangeListener() {
public void fieldChanged(Field field, int context)
{
try {
String alertMsg=sendTextCheckIn();
if(alertMsg.equals("OK"))
{
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
UiApplication.getUiApplication().pushScreen(new MyScreen());
}
});
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
그러나 위의 내용은 App Error 104: IllegalStateException
입니다. 아무도 BlackBerry App간에 화면을 전환하는 방법을 안내해 줄 수 있습니까?
편집 : 다른 화면으로 전환 할 수 있지만 MyScreen
으로 전환 할 수 없습니다. NOTE:
고객 로고는 앱의 주 화면 (첫 번째 화면)입니다. 위의 메서드 sendTextCheckIn()
은 MyScreen
안에있는 다른 메서드를 호출합니다. 이것은 오류와 관련이 있습니까? 제발 조언.
'sendTextCheckIn()'메서드가 실제로 네트워크 호출을합니까? 그렇다면'fieldChanged()'에서 자신이 말하는 것처럼 호출하면 안됩니다. 이 호출을 실행하려면 백그라운드'Thread'를 사용해야합니다. 'sendTextCheckIn()'이 응답을 받으면'invokeLater()'를 사용하여'pushScreen()'을 호출해야합니다. – Nate