I’m working on a ListView. I’d like to get the selected elements and stock them in order to use them afterwards.
It may be basic but as a beginner, I don’t really know how to deal with it..
Here is what my List looks like, and the Java code related to it :
https://i.stack.imgur.com/MgKq9.jpg
public class PizzaActivity extends DashboardActivity {
/** Called when the activity is first created. */
// HashMap arraList taking objects
private ArrayList <HashMap<String, Object>> myIng;
private static final String INGREDIENT = "ingnom";
private static final String PRIX = "ingprix";
private static final String IMAGE = "iconfromraw";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_f2);
ListView listView = (ListView)findViewById(R.id.list);
myIng = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> hm;
// Créée une nouvelle HashMap et définis ses élements
hm = new HashMap<String, Object>();
hm.put(IMAGE, R.drawable.mozza);
hm.put(INGREDIENT, "Mozzarella");
hm.put(PRIX, "Prix : 0.60€");
// Ajoute la HashMap créée à la liste
myIng.add(hm);
hm = new HashMap<String, Object>();
hm.put(IMAGE, R.drawable.emmental);
hm.put(INGREDIENT, "Emmental");
hm.put(PRIX, "Prix : 0.50€");
myIng.add(hm);
hm = new HashMap<String, Object>();
hm.put(INGREDIENT, "Chèvre");
hm.put(PRIX, "Prix : 0.75€");
hm.put(IMAGE, R.drawable.chevre);
myIng.add(hm);
hm = new HashMap<String, Object>();
hm.put(INGREDIENT, "Roquefort");
hm.put(PRIX, "Prix : 0.75€");
hm.put(IMAGE, R.drawable.roquefort);
myIng.add(hm);
// Définis un SimpleAdapter et lie les valeurs aux lignes de la vue view R.layout.listview
SimpleAdapter adapter = new SimpleAdapter(this, myIng, R.layout.listview,
new String[]{IMAGE,INGREDIENT,PRIX}, new int[]{R.id.img,R.id.text1, R.id.text2});
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
}
}
Any advice would be cool 🙂
Thanks !
Check this example. You should be able to do it easily.
Check this layout
And your getView of your adapter should be like this