Première liste Todo - Partie 2 (JAVA)
Liste Todo 14/11/2011 0

Première liste Todo - Partie 2 (JAVA)

Dans cette deuxième partie du tuto, nous verrons comment ajouter un élément à une listView, mettre un écouteur sur le DPad ou trackball ou boutton et affiché un toast.

Dans cette deuxième partie du tuto, nous verrons comment ajouter un élément à une listView, mettre un écouteur sur le DPad ou trackball ou boutton et affiché un toast.

Avant de commencer ce tuto je vous conseille de réaliser tout d’abord la première partie concernant l’XML : Première liste Todo - Partie 1 (XML)

 

Partie 2 : JAVA

On ouvre le fichier : « /src/com.androiddev.todo/todoListActivity.java »

 

Import

On place tout les imports nécessaires :

Ensuite on doit avoir cette classe et cette fonction :

 

ListView

On ajoute ceci dans la fonction onCreate :

  • On commence par lié la listView a celle crée dans la partie XML :

ListView listViewTodo = (ListView) findViewById(R.id.listToDo);

  • Pareil pour l'editText (le mot final est obligatoire, il permettra d'accedé à notre editText depuis les évenements) :

final EditText textTodo = (EditText) findViewById(R.id.textToDo);

  • On créé une ArrayList de String (Sa sera notre liste qui sera dans la listView) :

final ArrayList<String> listTodo = new ArrayList<String>();

  • On créé un adaptateur qui liera notre ArrayList à un layout (On peut personnalisé le layout d'une listView, ici on utilise un layout fournit par le SDK : simple_list_item_1) :

final ArrayAdapter<String> adaptTodo;
adaptTodo = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listTodo);

  • On attache l'adaptateur à notre listView :

listViewTodo.setAdapter(adaptTodo);

 

Ecouteur DPad ou Trackball :

On ajoute à la suite l'écouteur et on appel la fonction d'ajout dans la liste :

  • On associe l'évenement avec l'editText :

textTodo.setOnKeyListener(new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                          ...
                         return false;
             }
});

  • On fait des tests pour controler qu'il a bien appuyer sur le bouton OK ou la trackball :

...
if (event.getAction() == KeyEvent.ACTION_DOWN) {
                    if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
                    ...
                   }
}
...

  • On appelle la fonction que l'on créera bientôt :

...
rempliListeTodo(listTodo, textTodo, adaptTodo);
return true;
...

 

Ecouteur Button :

On ajoute à la suite l'écouteur du bouton :

  • On associe le button à la version XML

Button button = (Button) findViewById(R.id.buttonAdd);

  • On ajoute l'écouteur

button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                     ...
            }
 });

  • On appelle la fonction qui rempli la listView :

...
rempliListeTodo(listTodo, textTodo, adaptTodo);
...

 

Ajouter à la ListView

Après la méthode onCreate on ajoute notre fonction qui rempli la ListView :

  • On teste si au moins un caractère a été rentré sinon en affiche un Toast :

if (editText.getText().toString().length() > 0) {
...
} else {
            Toast.makeText(this, "1 caractère minimum !!", Toast.LENGTH_SHORT).show();
}

  • On ajoute l'élément à la ArrayList :

arrayList.add(0, editText.getText().toString());

  • On applique le changement en appelent l'adaptateur :

arrayAdapter.notifyDataSetChanged();

  • Puis on vide l'editText :

editText.setText("");

 

On arrive à la fin du tuto, voici le récapitulatif :

todoListActivity.java :