мое приложение включает в себя кнопку, которая динамически добавляет поля EditText на каждом клике. То, что я намереваюсь сделать, - установить идентификатор для каждого из добавленных полей. Я делаю это с помощью метода setId(). Но я не могу ссылаться на недавно добавленные поля. Можно ли установить идентификатор, используя любой цикл, а затем ссылку на этот идентификационный номер? Мой код выглядит следующим образом:подсчет числа динамически добавленных элементов в android
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");
}
});
Вы объявляете переменную 'i' внутри метода' onclick', поэтому все поля редактирования будут иметь идентификатор 0. Объявляя вашу переменную 'i', как переменную класса может устранить проблему ... Также пытаюсь установить идентификатор перед добавив его в макет ... –