Dans mon étape 15 je vais rajouter à la place de ma zone de texte pour les ingrédients une listview qui affichera la liste des ingrédients, et un click sur l’item supprimera l’ingrédient sélectionné de ma liste.
D’abord je modifie mon xml main.xml pour rajouter une listview.
je rajoute donc
a la place de
Dans ma classe principale je crée deux attributs de type tableau
//tableau de string pour sauvegarder temporairement les ingredients
private final ArrayList aTableauIngredient= new ArrayList();
//tableau de string temporaire pour l'aafichage dans notre liste view
private final ArrayList aTableauIngredientaff= new ArrayList();
Et pour finir je modifie la classe OnReadyListener de ma classe principale pour afficher les info saisies dans ma boite de dialogue dans ma listview.
private class OnReadyListener implements Myclassdialog.ReadyListener,
AdapterView.OnItemClickListener, View.OnClickListener{
@Override
public void ready(String sUnite,String sQuantite,String sIngredient) {
String[] sNewtext=new String[]{sUnite,sQuantite,sIngredient};
String sNewtextaff="";
//tableau temporaire des informations
aTableauIngredient.add(sNewtext);
//tableau temporaire de l'affichage
aTableauIngredientaff.add(sQuantite+" "+sUnite+" "+sIngredient);
//affiche des ingredients de mon tableau temporaire dans ma listview
mRecetteList = (ListView) findViewById(android.R.id.list);
final ArrayAdapter adapter2 = new ArrayAdapter(getBaseContext(),
android.R.layout.simple_list_item_1,aTableauIngredientaff);
mRecetteList.setAdapter(adapter2);
mRecetteList.setOnItemClickListener(this);
//TextView textbastmp2 = (TextView) findViewById(R.id.entry2);
//textbastmp2.setText(sNewtextaff);
}
// action sur le clik sur un item de ma listview
public void onItemClick(AdapterView parent, View v, int position, long id) {
//***********suppression des informations dans mon tableau********
aTableauIngredientaff.remove(position);
aTableauIngredient.remove(position);
mRecetteList = (ListView) findViewById(android.R.id.list);
final ArrayAdapter adapter2 = new ArrayAdapter(getBaseContext(),
android.R.layout.simple_list_item_1,aTableauIngredientaff);
mRecetteList.setAdapter(adapter2);
mRecetteList.setOnItemClickListener(this);
}
public void onClick(View v) {
int u=0;
}
}
Cette étape me permet donc d’ajouter des ingredients dans un tableau plus facile à traiter pour la suite, également d’afficher une listview dans un formulaire ce qui me permet sur le click d’un item de supprimer un ingredient ajouté par erreur ou avec une erreur de saisie.
code source ici
Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo