में UI को अपडेट करने के तीन तरीकों के बीच अंतर दिखाने के लिए इस उदाहरण कोड को संशोधित करने के लिए मैं UI इंटरैक्शन प्रबंधित करने के लिए तीन विधियों के बीच अंतर को समझने के लिए प्रयास कर रहा हूं।ब्लैकबेरी
वास्तविक मामलों में उन्हें समझने के लिए परीक्षण करते समय मैं इन तीन शर्तों से वास्तव में उलझन में हूं।
नीचे कोड invokeAndWait विधि के समारोह से पता चलता है, लेकिन अगर मैं इसे invokeLater या getEventLock द्वारा की जगह() कार्यक्रम ठीक उसी तरह काम करेंगे।
क्या कोई यूआई अपडेट करने के लिए तीन विधियों के बीच अंतर दिखाने के लिए कोड को संशोधित कर सकता है?
public final class HelloWorldMainScreen extends MainScreen
{
private LabelField labelField;
public HelloWorldMainScreen()
{
labelField = new LabelField("Hello World");
add(labelField);
MainScreenUpdaterThread thread = new MainScreenUpdaterThread(this);
thread.start();
}
public void appendLabelText(String text){
labelField.setText(labelField.getText()+"\n"+text);
}
}
public class MainScreenUpdaterThread extends Thread {
HelloWorldMainScreen mainScreen;
public MainScreenUpdaterThread(HelloWorldMainScreen mainScreen){
this.mainScreen = mainScreen;
}
public void run(){
for (int i = 0; i < 10; i++) {
try{
Thread.sleep(5000);
}catch(InterruptedException ex){};
UiApplication.getUiApplication().invokeAndWait(new Runnable() {
public void run() {
mainScreen.appendLabelText("Update");
}
});
}
}
}
इन तीन अवधारणाओं कई शुरू कर लोगों को इसलिए किसी भी व्याख्यात्मक स्रोत कोड उनके कार्यों का वर्णन किसी के लिए दृढ़ता से उपयोगी होगा के लिए बहुत भ्रमित कर रहे हैं, मुझे लगता है।
अग्रिम धन्यवाद!