Je suis en train de créer une application de liste d'épicerie et je veux que ma liste d'épicerie soit divisée par département (boulangerie, fruits, viande, etc.). Pour l'instant, j'ai créé la liste et je suis capable de remplir un fichier de stockage externe et de récupérer l'information par département.
Tout fonctionne bien jusqu'à ce que j'appuie sur le bouton précédent de ma phne et que je clique sur le bouton pour revenir à la vue de la liste de fruits, mes éléments ne sont plus cochés.
J'ai essayé d'utiliser la méthode onSaveinstance/onRestore avec le bundle mais cela n'a pas fonctionné. J'ai également lu des articles sur les préférences partagées mais je ne suis pas sûr que ce soit ce dont j'ai besoin et comme j'utilise Simple_list_item_checked, je ne sais pas comment l'utiliser.
public class FruitList_Activity extends AppCompatActivity {
private ListView fruitsList;
private ArrayAdapter<String> adapterFruit;
private Button btn_Delete;
private Button btn_SelectAll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_fruit_list_);
fruitsList = findViewById(R.id.list_Fruits);
fruitsList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
btn_Delete = findViewById (R.id.btn_delete);
CreateActivity.itemsFruit = FileHelper.readData(this);
adapterFruit = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, CreateActivity.itemsFruit);
fruitsList.setAdapter(adapterFruit);
/*Remove items*/
btn_Delete.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
SparseBooleanArray checkedItemPositions = fruitsList.getCheckedItemPositions();
int itemCount = fruitsList.getCount();
for(int i=itemCount-1; i >= 0; i--){
if(checkedItemPositions.get(i)){
fruitsList.setItemChecked(i,true);
adapterFruit.remove(CreateActivity.itemsFruit.get(i));
FileHelper.writeData(CreateActivity.itemsFruit, FruitList_Activity.this );
}
}
adapterFruit.notifyDataSetChanged();
}
});
}
}
Je commence tout juste à utiliser Java, alors j'aimerais avoir des conseils et des instructions claires.