Cómo actualizar el adaptador de la lista de Android, para que muestre los nuevos elementos agregados

Estaba trabajando en un proyecto. Solo muestra una lista de tareas y le agrega nuevas tareas. Tengo 3 CLASES. Uno para agregar, Uno para ver y Uno para guardar toda la información (o eso creo).

Ya tengo 2 tareas en mi lista y se muestran correctamente.

El problema es, cuando yoañadir una nueva tarea que no se les mostrará a la vista. He intentado muchas soluciones posibles:

simplemente agregando un elemento a la lista

creando una nueva lista que consiste en elementos de la antigua y la reconstrucción del adaptador;

utilizandonotifyDataSetChanged(); junto con el comando add ();

etc.

Aquí está mi código, es un poco desordenado, pero espero que lo descubran.

Clase de AndroidListAdapterActivity:

public class AndroidListAdapterActivity extends ListActivity {
    /** Called when the activity is first created. */
    Button b1;
    Lista o;
    ArrayAdapter aa;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    b1=(Button)findViewById(R.id.add);
    Log.w("POC", "PA OVO SE ZOVE SVAKI PUT");
    o=new Lista();
    o.lis.add("S1");
    o.lis.add("S2");
   aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, o.lis);
    setListAdapter(aa);

    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent i = new Intent(AndroidListAdapterActivity.this, Dodavanje.class);
            startActivity(i);
        }
    });

}


@Override
public void onResume(){
    super.onResume();
    aa.notifyDataSetChanged();
    if(o.broj>=2){
        aa=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, o.lis2);
        setListAdapter(aa);
        Log.w("myApp", "CALLED TOO");
    }
    String yt=String.valueOf(o.ses);
    Log.w("teras", yt);
    aa.notifyDataSetChanged();

    Log.w("myApp", "CaLLED!!!!!!!!!!!!!");
    String fx= String.valueOf(o.broj);
    Log.w("myAPPe", fx);

}


@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
}    
  }

Dodavanje (Agregando):

public class Dodavanje extends Activity {

Button but;
Button but2;
EditText et;
Lista o;
AndroidListAdapterActivity www;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dodavanje);
    but= (Button)findViewById(R.id.bb);
    but2= (Button)findViewById(R.id.bc);
    et=(EditText)findViewById(R.id.tt); 
    www=new AndroidListAdapterActivity();

    o = new Lista();

    but.setOnClickListener(new View.OnClickListener() {

        @SuppressWarnings("unchecked")
        @Override
        public void onClick(View arg0) {

            String t1= et.getText().toString();
            //o.lis.add(t1);    
            o.lis2.addAll(o.lis);
            o.lis2.add(t1);
            o.lis.add(t1);
            o.ses=true;
            Log.w("IZVJESTAJ: ", String.valueOf(o.ses));
            o.broj++;
            String fx=String.valueOf(o.broj);
            Log.w("Izbacaj",fx);
            et.setText("");
        }
    });

    but2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            finish();
        }
    });
}
  }

Lista (lista):

public class Lista extends Application {

ArrayList<String> lis=new ArrayList<String>();
ArrayList<String> lis2=new ArrayList<String>();
int broj =1;
boolean ses= false; 
 }

Respuestas a la pregunta(4)

Su respuesta a la pregunta