2011-01-28 1 views
1

他のクラスのメイン画面にテキストを追加しようとしていますが、MainScreenを拡張するクラスからスクリーンオブジェクトを渡そうとしましたが、何かを追加しようとするとPermission denied例外が発生します。別のクラスのメイン画面に書かれたテキストを追加する正しい方法は何ですか?BlackBerryのメイン画面を別のクラスから変更しますか?

編集:

公共TheMainClassが延びMainScreen {

public TheMainClass() 
{ 
    LabelField labelField = new LabelField("Hello"); 
    add(labelField); 

} } 

公共OtherClass {

public OtherClass(){ 

    // i want to add new LabelField here to say for example "World!" to the 
    // TheMainClass screen 
} 

} 
+1

いくつかのコードを表示できますか?あなたは通常、他のクラスが物事を変えることを可能にするが、見るべきコードなしでは言うことができないように、メイン画面に1つまたは2つの公開メソッドを公開する。 –

+0

確かに、質問にサンプルコードを追加しました。 – Jimmy

答えて

2

これを行うには多くの方法があり、一つは次のようになります。

public TheMainClass extends MainScreen { 
    public TheMainClass() { 
     LabelField labelField = new LabelField("Hello"); 
     add(labelField); 
    } 
} 

public OtherClass { 

    public addLabelTo(Screen aScreen) { 
     aScreen.add(new LabelField("World!")); 
    } 
} 

TheMainClass theMainClass = new TheMainClass(); 
OtherClass otherClass = new OtherClass; 

otherClass.addLabelTo(theMainClass); 

もちろん、イベントスレッドでaddLabelToの呼び出しを実行する必要があります。

関連する問題