0

TextBox を動的に作成しています。サーバーから値を取得します。値は 5、場合によっては 10 などになる可能性があるため、作成するテキストボックスの数は異なります。

すべてのテキストボックスが作成された後。

ページに更新ボタンがあります。この更新ボタンをクリックすると、ユーザーがテキストボックスに入力した可能性のある変更が何であれ、サーバーに移動する必要があります..それはできません..

以下は、テキストボックスを作成するコードです

 public void fetchData(){
    public void onSuccess(ArrayList<Details> result) {
          for(int i =0;i<result.size();i++){


                name  = new TextBox();
                name.setText(result.get(i).getName());
                                    verticalPanel.add(name);
                                    namesList.add(name);
                                    }}

この時点で名前の値が次のようになっているとします。 admin ユーザーは UI に移動し、admin を adminNew に変更し、更新ボタンをクリックします。

ここで私は更新ボタンで何をしますか

                public void Update(){

                     for(int i =0;i<namesList.size(); i++){
         String updatedNanme = namesList.get(i).getText());
    }

}

updateNameフィールドで、ユーザーがUI(つまりadminNew)から変更した更新された名前を取得するにはどうすればよいですか。現在、fetchData メソッドから取得した古い名前 (つまり、admin) を取得しています。

ありがとう

4

2 に答える 2

0

テキスト ボックスの内容をユーザー エントリで上書きすることは可能でしょうか? update メソッドは、常に updatedNanme を、namesList 配列の最後の要素の内容に設定します。また、updatedNanme 文字列にアクセスするにはどうすればよいでしょうか。この文字列は for ループ ? でのみ使用できます。

于 2012-11-08T09:48:03.480 に答える
0

「古い値」ではなく、getText() を呼び出してテキストボックスの値を取得する必要があります。テキストボックスのリストに問題があると思います。テキストボックスを2回インスタンス化するかもしれません! コードをデバッグし、テキストボックスがインスタンス化されたときと更新が発生したときにブレークポイントを設定することをお勧めします。両方が同じインスタンスであるかどうかを確認します (たとえば、変数を監視する Eclipse を使用している場合、変数の ID がその前に表示されます。これは VM のオブジェクトの ID です。インスタンス化されたテキストボックスの ID が同じかどうかを確認します)値を取得しているテキストボックスのIDとして)

于 2012-11-08T07:37:11.237 に答える