Вы можете установить идентификатор любого элемента управления с помощью
btn.setId(integer value) at runtime.
Если вы не хотите устанавливать идентификатор, тогда нет проблем
Также, когда вы создаете новый вид, вы должны установить его layout parameters(Height, Width)
например
btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
Так что весь процесс похож на
Button btn = new Button(Context);
btn.setId(1);
btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btn.setText("Dynamic button");
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(v.getContext(),"Dynamic button is clicked", 3000).show();
}
});