计算android中动态添加元素的数量

时间:2013-02-15 10:18:05

标签: android

我的应用程序包含一个按钮,可在每次点击时动态添加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");
        }
    });

1 个答案:

答案 0 :(得分:1)

只需要一个计数变量:

int count = 100;

每次创建视图时,setId(count + 1);

获取最后一个视图R.id.count,与其他人一样。

更优雅的灵魂将是:

每次设置ID时,都要将id存储在ArrayList中。