Atualmente tenho estudado um pouco de Android nas horas vagas, entao vou colocar aqui no blog, alguns exemplos criados enquanto estudo.Neste post, sera mostrado um exemplo de como carregar um ListView de forma dinamica. Para a criacao deste exemplo precisamos criar apenas um projeto Android simples. Criei meu projeto no eclipse gerando o layout main.xml e para minha Activity principal dei o nome de AcademiaActivity (pois estou criando um projeto simples para academias).O layout do aplicativo pode ser visualizado na imagem abaixo:Abaixo segue o codigo do layout main.xml<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:shrinkColumns="1,2"> <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/labelSerie" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/serie" /> <EditText android:id="@+id/txtSerie" android:layout_width="wrap_content" android:layout_height="35dp" android:ems="5" > <requestFocus /> </EditText> <Button android:id="@+id/btAdicionar" android:layout_width="wrap_content" android:layout_height="35dp" android:text="@string/adicionar" /> </TableRow> <ListView android:id="@+id/listaSeries" android:smoothScrollbar="true" android:background="#909BD3"> </ListView> </TableLayout>E abaixo segue o codigo da Atividade: AcademiaActivity.javapackage br.com.academia;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.Toast;public class AcademiaActivity extends Activity { private ArrayList series = new ArrayList(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // define o layout como o criado em main.xml setContentView(R.layout.main); // recuperando a listview declarada em main.xml para poder definir o adapter ListView listaSeries = (ListView) findViewById(R.id.listaSeries); // definindo a implementacao ArrayAdapter como ListAdapter da ListView // series e a lista de series de treino definida como um ArrayList atraves de uma variavel de instancia final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, series); listaSeries.setAdapter(adapter); // adicionando comportamento para o evento click do botao adicionar Button btAdicionar = (Button) findViewById(R.id.btAdicionar); btAdicionar.setOnClickListener(new OnClickListener() { public void onClick(View view) { // recuperando o texto digitado pelo usuario EditText txtSerie = (EditText) findViewById(R.id.txtSerie); String serie = txtSerie.getText().toString(); // caso o texto for preenchido, adiciona na lista e atualiza o adapter // caso contrario exibe uma mensagem solicitando ao usuario que digite uma serie if (serie.length() > 0) { txtSerie.setText(""); txtSerie.findFocus(); series.add(serie); adapter.notifyDataSetChanged(); } else { Toast.makeText(AcademiaActivity.this, "Digite o nome da serie", Toast.LENGTH_SHORT).show(); } } }); }}Para criar uma Atividade que exibe apenas uma lista, a maioria dos exemplos indica criar a Atividade como uma classe que estende ListActivity ao inves de Activity pois ListActivity ja possui uma ListView definida internamente, e no metodo onCreate nao e necessario nem atribuir a contentView.Como neste exemplo, temos alguns componentes para interagir com o usuario alem da lista, acabei seguindo a abordagem acima definindo meu proprio ListView no layout principal.A chave aqui para entender o funcionamento do ListView esta em entender o seguinte trecho de codigo:// definindo a implementacao ArrayAdapter como ListAdapter da ListView// series e a lista de series de treino definida como um ArrayList atraves de uma variavel de instanciafinal ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, series);listaSeries.setAdapter(adapter);O conceito utilizado neste trecho de codigo e o conceito de Adapter. O Adapter permite fazer um bind entre os dados e a View, ou seja, o ArrayList e o ListView respectivamente.Outra parte do codigo que e importante frisar aqui, e a atualizacao da ListView quando um item e adicionado no ArrayList. Esta atualizacao e realizada atraves do codigo abaixo:adapter.notifyDataSetChanged();Bom, este foi apenas um exemplo simples para mais uma vez documentar o que ando estudando. Talvez possa ajudar alguem.