0

私のアプリケーションには、クリックするたびに EditText ボックスを動的に追加するボタンが含まれています。私がやろうとしているのは、追加されたボックスのそれぞれに ID を設定することです。setId() メソッドを使用してこれを行っています。しかし、新しく追加されたボックスを参照できません。任意のループを使用して ID を設定し、その ID 番号で参照することは可能ですか? 私のコードは次のとおりです。

super.onCreate(savedInstanceState);
    setContentView(R.layout.time_table);
    l1 = (LinearLayout) findViewById(R.id.linear1);
    edit = (EditText) findViewById(R.id.editText1);
    // tv = (TextView)findViewById(R.id.textView1);
    b1 = (Button) findViewById(R.id.button1);
    b2 = (Button) findViewById(R.id.button2);

    b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            int i = 0;
            ed = new EditText(Table.this);
            l1.addView(ed);
            ed.setHint("Column Name");
            ed.setId(i);
            i++;
            int n = ed.getId();
            EditText editn = (EditText) findViewById(n);
            editn.setText("new item");
        }
    });
4

1 に答える 1

1

カウント変数を用意するだけです:

int count = 100;

ビューを作成するたびに、setId(count + 1);

最後のビューを取得するにはR.id.count、他の人も同様です。

よりエレガントなソウルションは次のようになります。

ID を設定するたびに、ID を ArrayList に格納します。

于 2013-02-15T10:22:53.563 に答える