To programmatically add elements to your layout, you need to instantiate the Widget (TextView, EditText, Button etc) and add to the container using the method addView(View view) or addView(View view, LayoutParams params).
This behavior of composing hierarchy and adding View's is characteristic of the class ViewGroup, we can associate a ViewGroup to a tree of View's. Examples of it would be: LinearLayout, RelativeLayout, FrameLayout and the rest.
An example of programmatic addition of new Widgets would be:
// Aqui entra o seu container, pai dos elementos
// Basta escolher algum que pertenca ao seu layout.
// Recomendo um LinearLayout com orientation="vertical"
ViewGroup container = findViewById(R.id.container);
// Ou
ViewGroup container = getView().findViewById(R.id.container);
// Iremos instanciar o novo Widget a ser adicionado
// Em sua Activity
EdiText novoEdit = new EdiText(this);
// Ou em um Fragment
EditText novoEdit = new EditText(getActivity());
// Dependendo de como for seu layout, podem haver outros edits que nao
// estao relacionados com a soma diretamente, para sabermos que ele
// foi adicionado programaticamente, colocamos uma marcacao
novoEdit.setTag(R.id.container, true);
// Se quiser setar um texto inicial
novoEdit.setText("42");
// Se quiser adicionar um Hint que aparecerá quando nenhum texto for digitado
novoEdit.setHint("Entre com o numero");
// Aqui adicionamos o Widget ao container
container.addView(novoEdit);
// Ou
// Aqui pode variar um pouco dependendo da subclasse do container
container.addView(novoEdit, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
To add up the values:
// Aqui novamente entra o seu container, pai dos elementos
ViewGroup container = findViewById(R.id.container);
// Quantos filhos ele tem
int childCount = container.getChildCount();
// Itero sobre os filhos do container
for(int i = 0; i < childCount; ++i) {
// Pegamos o filho no indice i
View filho = container.getChildAt(i);
// Se ele for um EditText
if(filho instanceof EditText) {
EditText editFilho = (EditText) filho;
// Eh um EditText criado programaticamente?
// Para isso verificamos a marcacao que fizemos
if(editFilho.getTag(R.id.container) != null) {
String texto = editFilho.getText().toString();
// TODO Fazer tratamento de vazio e de exception...
// TODO Usar o texto para fazer a media...
}
}
}