-1

カスタムテキストボックスフィールドを使用していて、setTextを使用してプログラムでテキストを変更しようとしています...最初のフィールドでは機能しますが、2番目のフィールドでは機能しません...誰かがここで私を助けてくれますか...テキストはsetはカスタムテキストボックスに送信されますが、editfield.settextはテキストボックスの最初のインスタンスに対してのみ機能します。

現在、コードを投稿することはできませんが、理解を深めようとしています。1ページに4つのテキストボックスがあり、ページにキーリスナーが追加されています(これは音訳を容易にするためです-英語からグジャラート語)どのフィールドにフォーカスがあるかを追跡するためのint値。これを使用して、適切なフィールドでsettextメソッドを呼び出します。

正しいメソッドが正しい値で呼び出され、それでも最初のテキストボックスフィールドの値のみがリセットされます...私はデバッグを使用して、editfield.setTextが実行されるポイントまでフローを追跡しました。

カスタムフィールドの代わりに単純な編集フィールドで同じことを試しましたが、同じ結果が得られました...

ただし、キーリスナーがアクティブでない場合、setTextは正しく実行されます...そのため、問題の原因について困惑しています。一日の終わりまでにキーリスナーコードとその他の関連コードを追加します。

4

2 に答える 2

1

次のコードを試してください:

import net.rim.device.api.ui.component.TextField;
import net.rim.device.api.ui.container.MainScreen;

public final class MyScreen extends MainScreen
  {
    TextField tempTextBox;
  public MyScreen()
 {        
    // Set the displayed title of the screen       
    setTitle("MyTitle");
    tempTextBox = new TextField("Titile: ", "Fitst Detail");
    this.add(tempTextBox);

    tempTextBox.setText("Second text");

    tempTextBox.setText("Third Text");

}

}

画面を更新しない場合は、設定できます

invalidate(); 

serTextメソッドの後。

完全な助けを願っています。

于 2012-07-02T11:32:14.580 に答える
0

まあ、ブラックベリーの死により、これは実際には誰の助けにもなりませんが、同時に、この質問は2年間開かれていたので、閉じることにしました:-)別のキーリスナーを用意することで問題を解決しました各テキストボックス。助けてくれてありがとう。–

于 2015-03-16T06:37:13.747 に答える