0

問題なく動的フォームを作成しましたが、フォームのフィールド (コントロール) から値を復元する必要がありますが、これを行う方法がわかりません。

たとえば、次のコードがあります。

if(tipoP.equals("TEXTAREA")){
   EditText ta = new EditText(this);
   ta.setId(i);
   LayoutParams params3 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, (float) 0.3);
   params3.setMargins(20, 0, 20, 0);
   ta.setLayoutParams(params3);
   ta.setLines(3);
   ta.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
   ll.addView(ta);
}

EditText のテキストをキャプチャして Vector 変数内に配置するリスナーを追加するにはどうすればよいですか?

私はこれを試しました:

ta.setOnClickListener(new OnClickListener(){
   public void onClick(View view){
       EditText t = (EditText) findViewById(i);
       res.add(t.getText().toString);
   }
});

しかし、別の実行環境にあるため、id (変数 i) を取得していません。これを解決するにはどうすればよいですか?どんな助けでも大歓迎です!!

4

2 に答える 2

1

動的に作成されたビューには setId を使用しないでsetTagくださいfindViewByTag

于 2012-11-15T16:08:22.037 に答える
0

ボタンを動的に作成し、その上にonClickListenerを設定できます。リスナー内では、最終的なものである限り、EditTextを直接参照できます(タグやIDは必要ありません)。

于 2012-11-16T11:57:21.073 に答える